Como o resultado trará de volta todas as colunas em linhas, construindo uma nova coluna derivada com todos os valores, você deve garantir que os tipos se encaixem.
Você pode agrupar todas as suas colunas em
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;
O
DOB
será convertido para a configuração padrão de sua máquina. Usando CONVERT
você pode impor um determinado formato de data/hora.