sql >> Base de Datos >  >> RDS >> Sqlserver

Error:el tipo de columna DOB entra en conflicto con el tipo de otras columnas especificadas en la lista UNPIVOT

Como el resultado devolverá todas las columnas en filas, creando una nueva columna derivada con todos los valores, debe asegurarse de que los tipos encajen.

Puede envolver todas sus columnas en 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;

El DOB se convertirá a la configuración predeterminada de su máquina. Usando CONVERT puede aplicar un formato de fecha/hora determinado.