Подтвердить что ты не робот

TSQL для возврата НЕТ или ДА вместо ИСТИНА или ЛОЖЬ

Как показать другое значение, если некоторые столбцы возвращают FALSE,

например,

COLUMN "BASIC" возвращает FALSE, но мне нужно показать для пользователя ДА или НЕТ. Случай FALSE, возврат NO.

4b9b3361

Ответ 1

Если varchar или бит, обработка NULL

case
    when BASIC = 'FALSE' then 'NO'
    when BASIC <> 'FALSE' then 'YES'
    else 'UNDEFINED'
end

или просто бит

case
    when BASIC = 1 then 'YES'
    when BASIC = 0 then 'NO'
    else 'UNDEFINED'
end

Edit:

SELECT 
    TipoImovel_Id AS TII_SEQ,
    Descricao AS TII_DSC, 
    Sigla AS TII_DSC_SIGLA,
    -- choose which one you want from the answers here
    case
        when BASIC = 1 then 'YES'
        when BASIC = 0 then 'NO'
        else 'UNDEFINED'
    end AS SomeColumnName
FROM San_TipoImovel";

Ответ 2

case when column = 'FALSE' then 'NO' else 'YES' end

Ответ 3

поскольку SQL 2012 вы можете использовать функцию IIF

IIF(BASIC = 'TRUE', 'YES', 'NO')

Ответ 4

Используйте оператор CASE:

case BASIC when 'True' then 'Yes' ELSE 'No' end

Ответ 5

Вот так:

SELECT TipoImovel_Id AS TII_SEQ, Descricao AS TII_DSC, Sigla AS TII_DSC_SIGLA, case when basic = 'FALSE' then 'NO' else 'YES' end 
FROM San_TipoImovel

Ответ 6

Вы можете создать определенную пользователем функцию, чтобы в будущем вы могли просто сказать что-то вроде:

select dbo.YesNo(Active) from APAccount

вот функция

CREATE FUNCTION [dbo].YesNo(@Value Bit)
    RETURNS varchar(3)
    BEGIN
      DECLARE @R as varchar(3)

      SET @R =
        (
        Select 
            case 
                when @Value = 1 then 'Yes'
                else 'No'
            end
        )
       RETURN @R
    END