Тъй като резултатът ще върне всички колони в редове, изграждайки нова производна колона с всички стойности, трябва да се уверите, че типовете пасват един на друг.
Можете да обвиете всичките си колони в CAST
SELECT
ColumnName,
value
FROM (SELECT
CAST(id AS NVARCHAR(MAX)) [ID],
CAST(firstname AS NVARCHAR(MAX)) [First Name],
CAST(lastname AS NVARCHAR(MAX)) [Last Name],
CAST(dob AS NVARCHAR(MAX)) [DOB],
CAST(sex AS NVARCHAR(MAX)) [Gender]
FROM client
WHERE id = '11') d
UNPIVOT
(
Value FOR
ColumnName IN ([ID], [First Name], [Last Name], [DOB], [Gender])
) unpiv;
DOB
ще се преобразува в настройката по подразбиране на вашето устройство. Използване на CONVERT
можете да наложите даден формат за дата/час.