Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore:il tipo di colonna DOB è in conflitto con il tipo di altre colonne specificate nell'elenco UNPIVOT

Poiché il risultato riporterà tutte le colonne nelle righe, creando una nuova colonna derivata con tutti i valori, devi assicurarti che i tipi combacino.

Puoi avvolgere tutte le tue colonne in 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;

Il DOB verrà convertito all'impostazione predefinita della macchina. Usando CONVERT potresti imporre un determinato formato di data/ora.