Comment puis-je afficher une valeur différente si certaines colonnes renvoient FALSE,
par exemple,
COLUMN "BASIC" retourne FALSE, mais j'ai besoin de montrer à l'utilisateur OUI ou NON. Affaire FALSE, retournez NO.
Si varchar ou bit, gestion des valeurs NULL
case
when BASIC = 'FALSE' then 'NO'
when BASIC <> 'FALSE' then 'YES'
else 'UNDEFINED'
end
ou si juste un peu
case
when BASIC = 1 then 'YES'
when BASIC = 0 then 'NO'
else 'UNDEFINED'
end
Modifier:
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
depuis SQL 2012, vous pouvez utiliser la fonction IIF
IIF(BASIC = 'TRUE', 'YES', 'NO')
Comme ça:
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
Vous pouvez créer une fonction définie par l'utilisateur afin de pouvoir à l'avenir dire quelque chose comme:
select dbo.YesNo(Active) from APAccount
voici la fonction
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
Utilisez la déclaration CASE
:
case BASIC when 'True' then 'Yes' ELSE 'No' end