Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Erreur :Le type de colonne DOB est en conflit avec le type des autres colonnes spécifiées dans la liste UNPIVOT

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é.