0

我有一个临时表,其中的列是使用数据透视动态生成的。当我使用数据透视函数时,列本身就是 int 数据类型。列的值是 0 或 1。现在我想用“Y”更新 1,用“N”更新 0。但是这样做时我遇到了转换错误。请帮忙。

4

1 回答 1

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 ...
于 2012-05-18T18:34:21.400 回答