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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 13:11:29  来源:igfitidea点击:

TSQL to return NO or YES instead TRUE or FALSE

sqlsql-serverweb-servicessql-server-2008tsql

提问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 CASEstatement:

使用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