2
ทำไม SQL Server จำเป็นต้องใช้ความยาวประเภทข้อมูลเหมือนกันเมื่อใช้ UNPIVOT
เมื่อใช้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'); หากฉันพยายาม UNPIVOT FirstnameและLastnameคอลัมน์คล้ายกับ: select PersonId, ColumnName, Value from People …