TSQL для возврата НЕТ или ДА вместо ИСТИНА или ЛОЖЬ
Как показать другое значение, если некоторые столбцы возвращают FALSE,
например,
COLUMN "BASIC" возвращает FALSE, но мне нужно показать для пользователя ДА или НЕТ. Случай FALSE, возврат NO.
Ответ 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