一部の列がFALSEを返す場合、別の値を表示するにはどうすればよいですか。
例えば、
COLUMN "BASIC"はFALSEを返しますが、ユーザーにYESまたはNOで表示する必要があります。 FALSEの場合、NOを返します。
Varcharまたはbitの場合、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
編集:
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";
case when column = 'FALSE' then 'NO' else 'YES' end
sQL 2012以降、IIF関数を使用できます
IIF(BASIC = 'TRUE', 'YES', 'NO')
このような:
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
CASE
ステートメントを使用します。
case BASIC when 'True' then 'Yes' ELSE 'No' end