2
为什么在使用UNPIVOT时SQL Server要求数据类型长度相同?
将UNPIVOT功能应用于未规范化的数据时,SQL Server要求数据类型和长度相同。我知道为什么数据类型必须相同,但是为什么UNPIVOT要求长度相同? 假设我有以下示例数据需要取消透视: CREATE TABLE People ( PersonId int, Firstname varchar(50), Lastname varchar(25) ) INSERT INTO People VALUES (1, 'Jim', 'Smith'); INSERT INTO People VALUES (2, 'Jane', 'Jones'); INSERT INTO People VALUES (3, 'Bob', 'Unicorn'); 如果我尝试取消Firstname和的Lastname列,则类似于: select PersonId, ColumnName, Value from People unpivot ( Value FOR ColumnName in (FirstName, LastName) …