有了这个:
select puser_id, puser_name, plast_login_time, plicense_level =
case
when '1' then 'Потребитель'
else 'Автор'
end
from dbo.PPOM_USER
order by plast_login_time
我有这样的错误:
在上下文中指定的非布尔类型的表达式 条件是预期的,接近'然后'。
请帮我在代码中找到问题。
答案 0 :(得分:1)
将您的WHEN
更改为:
when plicense_level = '1'
您需要在WHEN
中进行有效比较,以避免错误。
来自CASE
文档:
WH_ when_expression
是一个简单的表达式,当input_expression与之比较时 使用简单的CASE格式。 when_expression是任何有效的表达式。
答案 1 :(得分:1)
CASE 语句表达式的语法不太正确,请尝试:
case plicense_level
when '1' then 'Потребитель'
else 'Автор'
end
答案 2 :(得分:0)
如果您要尝试向用户显示描述许可证的文本而不是列的数值,您应该尝试这样的事情:
xlWorkBook.SaveAs("C:\ABC.xlsx")
中找到一些CASE样本
答案 3 :(得分:0)
答案 4 :(得分:-2)
select puser_id, puser_name, plast_login_time, plicense_level =
case
when plicense_level = '1' then 'Потребитель'
else 'Автор'
end
from dbo.PPOM_USER
order by plast_login_time