我怎麼能顯示出不同的值,如果一些列返回FALSE,TSQL返回NO或YES,而不是TRUE或FALSE
例如,
欄中的「BASIC」返回FALSE,但我需要顯示的用戶是或否。案例FALSE,返回NO。
我怎麼能顯示出不同的值,如果一些列返回FALSE,TSQL返回NO或YES,而不是TRUE或FALSE
例如,
欄中的「BASIC」返回FALSE,但我需要顯示的用戶是或否。案例FALSE,返回NO。
如果VARCHAR或位,處理空值
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
編輯:
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";
但是我怎麼能把這個放在我的查詢中? 「SELECT TipoImovel_Id AS TII_SEQ,Descricao AS TII_DSC,Sigla AS TII_DSC_SIGLA,basic FROM San_TipoImovel」;基本我需要返回YES或NO情況是TRUE還是FALSE –
case when column = 'FALSE' then 'NO' else 'YES' end
但我怎麼能把這個在我的查詢? 「SELECT TipoImovel_Id AS TII_SEQ,Descricao AS TII_DSC,Sigla AS TII_DSC_SIGLA,basic FROM San_TipoImovel」;基本我需要返回YES或NO情況TRUE或FALSE –
使用CASE
聲明:
case BASIC when 'True' then 'Yes' ELSE 'No' end
您需要將文字用單引號括起來 –
@MarkKram,固定的 –
像這樣:
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
您可以創建一個用戶定義的函數,以便在將來你可以這樣說:
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
由於SQL 2012可以使用IIF功能
IIF(BASIC = 'TRUE', 'YES', 'NO')
SQL Server中沒有布爾真/假列。告訴我們BASIC列的數據類型是什麼。 – sqlvogel