我有一个临时表,其中列是使用pivot动态生成的。当我使用pivot函数时,列本身是int数据类型。列的值为0或1.现在我想用'Y'更新1,用'N'更新0。但这样做会导致转换错误。请帮忙。
答案 0 :(得分:0)
在此查询中,您需要将int值转换为varchar。
set @a= 'select * into ##test2
from ##test
PIVOT ( Count(OtherConditionCode)
FOR [CodeDescription] IN ('+@cols+') ) AS p';
我不知道你的所有列名,但它看起来应该是这样的,假设col4是1 | 0的那个。
set @a = '
select col1, col2, col3,
case when col4 = 1 then 'Y' else 'N' end as col4
from ##test
PIVOT ...