Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fehler:Der Typ der Spalte DOB steht im Konflikt mit dem Typ anderer Spalten, die in der UNPIVOT-Liste angegeben sind

Da das Ergebnis alle Spalten in Zeilen zurückbringt und eine neue abgeleitete Spalte mit allen Werten bildet, müssen Sie sicherstellen, dass die Typen zusammenpassen.

Sie können alle Ihre Spalten in CAST umschließen

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;

Das DOB wird in die Standardeinstellung Ihres Geräts konvertiert. Mit CONVERT Sie könnten ein bestimmtes Datums-/Uhrzeitformat erzwingen.