我正在尝试解决以下问题:
我想做一个选择,当结果为空时,它应该被替换为“空”,否则结果应该在那里。那是我的尝试:
select case (count*)
when 0 then 'empty'
ELSE
THEVALUEOFTHECOLUM
END AS RESULT
from Database.table where CarID = 12;
感谢您的每一条评论。
这应该可行,但您可能必须COUNT(*)
根据使用的数据库将第二次出现的 VARCHAR 转换为:
SELECT
CASE WHEN COUNT(*) = 0
THEN 'empty'
ELSE COUNT(*) -- CONVERT, TO_CHAR, ...
END AS result
FROM Database.table where CarID = 12;
是否可以使用一个查询对其进行编码?如果没有结果 -> 没有找到结果 else 显示所有结果,不仅仅是一个
declare @tmp table (id int)
declare @cnt int
insert into @tmp select col from table
select @cnt = count(*) from @tmp
if(@cnt = 0)
begin
select 'empty'
end
else
begin
select * from @tmp
end
SELECT
CASE
WHEN Q.countvalue = 0 THEN 'Empty'
ELSE CONVERT(NVARCHAR(10), Q.countvalue)
END AS RESULT
FROM
(
SELECT COUNT(*) AS countvalue
FROM Database.table WHERE CarID = 12
) AS Q
这对我来说感觉很奇怪,但它会返回列数据。这不是一个查询,但它仍然是 setwise。
declare @tmp table (id int)
declare @cnt int
insert into @tmp select col from table
select @cnt = count(*) from @tmp
if(@cnt = 0)
begin
select 'empty'
end
else
begin
select * from @tmp
end