sql >> Database >  >> RDS >> Sqlserver

Fout:het type kolom DOB conflicteert met het type andere kolommen gespecificeerd in de UNPIVOT-lijst

Omdat het resultaat alle kolommen in rijen terugbrengt en een nieuwe afgeleide kolom met alle waarden bouwt, moet u ervoor zorgen dat de typen bij elkaar passen.

U kunt al uw kolommen in CAST plaatsen

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;

De DOB wordt geconverteerd naar de standaardinstelling van uw machine. Met behulp van CONVERT je zou een bepaalde datum/tijd-notatie kunnen afdwingen.




  1. SQL Server Failover Cluster Installatie -2

  2. Hoe voer je een programma uit vanuit SQL?

  3. Hoe kan ik zoeken in een tabel met door komma's gescheiden waarden?

  4. Query vastleggen tijdstempel 0000-00-00 00:00:00