Comme le résultat ramènera toutes les colonnes en lignes, en créant une nouvelle colonne dérivée avec toutes les valeurs, vous devez vous assurer que les types s'emboîtent.
Vous pouvez envelopper toutes vos colonnes dans 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;
La DOB
sera converti au réglage par défaut de votre machine. Utilisation de CONVERT
vous pouvez appliquer un format de date/heure donné.