在Unpivot存在一些問題並且不確定原因。我知道列類型需要是相同的,我想我有這種排序。「Change_Date」列的類型與UNPIVOT列表中指定的其他列的類型衝突
表
CREATE TABLE [dbo].[zztmp1](
[Project_Number] [varchar](50) NULL,
[Changed_Design_Status] [varchar](50) NULL,
[Changed_Cost] [decimal](38, 4) NULL,
[Change_Date] [varchar](8) NULL
) ON [PRIMARY]
腳本
select
Project_Number,
ColumnName, Value, Change_Date
from
(
select Project_Number,
Changed_Design_Status ,
cast(Changed_Cost as varchar(50)) Changed_Cost,
cast(Change_Date as varchar(50)) Change_Date
from zztmp1
) d
unpivot
(
Value FOR
ColumnName in (Changed_Design_Status-- ,Changed_Cost
)
) unpiv;
當添加Change_Cost在我得到的錯誤:
消息8167,級別16,狀態1,行15 列的類型「 Changed_Cost「與UNPIVOT列表中指定的其他列的類型衝突。
如果我改變順序,只用change_Cost運行就可以正常工作。這似乎是一個問題,當我有多列,我在做什麼。
任何意見讚賞。
感謝
這是SQL Server的假設嗎? –