Làm thế nào tôi có thể hiển thị một giá trị khác nếu một số cột trả về FALSE,TSQL để trở NO hoặc YES thay TRUE hoặc FALSE
ví dụ,
COLUMN "BASIC" trả về FALSE, nhưng tôi cần hiển thị cho người dùng CÓ hoặc KHÔNG. Trường hợp FALSE, trả lại NO.
Làm thế nào tôi có thể hiển thị một giá trị khác nếu một số cột trả về FALSE,TSQL để trở NO hoặc YES thay TRUE hoặc FALSE
ví dụ,
COLUMN "BASIC" trả về FALSE, nhưng tôi cần hiển thị cho người dùng CÓ hoặc KHÔNG. Trường hợp FALSE, trả lại NO.
Nếu varchar hoặc bit, xử lý NULLs
case
when BASIC = 'FALSE' then 'NO'
when BASIC <> 'FALSE' then 'YES'
else 'UNDEFINED'
end
hoặc nếu chỉ cắn
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";
nhưng làm cách nào tôi có thể đặt nó vào truy vấn của mình? "CHỌN TipoImovel_Id AS TII_SEQ, Hàm Descricao AS TII_DSC, Sigla AS TII_DSC_SIGLA, cơ bản TỪ San_TipoImovel"; Cơ bản tôi cần trả lại CÓ hoặc KHÔNG CÓ TRUE hoặc FALSE –
case when column = 'FALSE' then 'NO' else 'YES' end
nhưng làm cách nào tôi có thể đặt điều này trong truy vấn của mình? "CHỌN TipoImovel_Id AS TII_SEQ, Hàm Descricao AS TII_DSC, Sigla AS TII_DSC_SIGLA, cơ bản TỪ San_TipoImovel"; Cơ bản tôi cần trả lại CÓ hoặc KHÔNG CÓ TRUE hoặc FALSE –
Sử dụng CASE
tuyên bố:
case BASIC when 'True' then 'Yes' ELSE 'No' end
Bạn cần bọc các chữ cái của mình trong dấu nháy đơn –
@MarkKram, Cố định –
Như thế này:
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
Bạn có thể tạo một hàm người dùng định nghĩa như vậy trong tương lai, bạn chỉ có thể nói cái gì đó như:
select dbo.YesNo(Active) from APAccount
đây là chức năng
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
kể từ SQL 2012 bạn có thể sử dụng chức năng IIF
IIF(BASIC = 'TRUE', 'YES', 'NO')
Không có cột đúng/sai Boolean trong SQL Server. Hãy cho chúng tôi biết loại dữ liệu của cột BASIC là gì. – sqlvogel