0

ピボットを使用して列が動的に生成される一時テーブルがあります。ピボット関数を使用しているため、列自体は int データ型です。列の値は 0 または 1 です。ここで、1 を「Y」で更新し、0 を「N」で更新します。しかし、そうしている間に変換エラーが発生します。助けてください。

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 に答える