Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Erro:O tipo de coluna DOB está em conflito com o tipo de outras colunas especificadas na lista UNPIVOT


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.