我想使用case
语句更改结果中的值,但似乎忽略了这一点.非常简单,如果表中的值1
必须更改为True
,如果该值0
必须更改为false
.这是我做的:
CASE pbc.bShownUp WHEN 0 THEN 'False' ELSE pbc.bShownUp END AND CASE ch.bShownUp WHEN 1 THEN 'True' ELSE ch.bShownUp END
无论我做什么,结果仍然是0或1.
请帮忙.
当您使用CASE
Expression时,数据的返回类型必须与所有WHEN
部分相同或更简单地放置,CASE
必须解析为单个类型.
这里和这里更多参考
从类型的角度来看,代码说的那一刻
CASE BIT WHEN 1 then NVARCHAR ELSE BIT
那是行不通的.
所以你必须做这样的事情
CASE ch.bShownUp WHEN 1 then 'TRUE' ELSE 'FALSE'