SQL TSQL 返回 NO 或 YES 而不是 TRUE 或 FALSE
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/8051774/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
TSQL to return NO or YES instead TRUE or FALSE
提问by Lucas_Santos
How can I show a different value if some columns return FALSE,
如果某些列返回 FALSE,我如何显示不同的值,
for example,
例如,
COLUMN "BASIC" returns FALSE, but I need show for the user YES or NO. Case FALSE, return NO.
列“基本”返回 FALSE,但我需要为用户显示 YES 或 NO。案例 FALSE,返回 NO。
回答by gbn
If varchar or bit, handling NULLs
如果是 varchar 或 bit,则处理 NULL
case
when BASIC = 'FALSE' then 'NO'
when BASIC <> 'FALSE' then 'YES'
else 'UNDEFINED'
end
or if just bit
或者如果只是一点
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";
回答by Derek Kromm
case when column = 'FALSE' then 'NO' else 'YES' end
回答by FLICKER
since SQL 2012 you can use IIF function
从 SQL 2012 开始,您可以使用 IIF 函数
IIF(BASIC = 'TRUE', 'YES', 'NO')
回答by Kirill Polishchuk
Use CASE
statement:
使用CASE
声明:
case BASIC when 'True' then 'Yes' ELSE 'No' end
回答by Mark Kram
Like this:
像这样:
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
回答by edilio
You could create a user defined function so in the future you can just say something like:
您可以创建一个用户定义的函数,以便将来您可以这样说:
select dbo.YesNo(Active) from APAccount
here is the function
这是功能
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