sql >> データベース >  >> RDS >> Sqlserver

エラー :列 DOB の型が、UNPIVOT リストで指定された他の列の型と競合しています

    結果はすべての列を行に戻し、すべての値を含む新しい派生列を作成するため、型が互いに適合することを確認する必要があります。

    すべての列を 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;
      

    DOB お使いのマシンのデフォルト設定に変換されます。 CONVERT の使用 特定の日付/時刻形式を強制する場合があります。




    1. MySQLWHEREINクエリ-ORDERBYMatch

    2. Oracleを使用してテーブル内のXML空タグのダミー値を取得するにはどうすればよいですか?

    3. 一度に複数の行の単一の列を更新/インクリメントします

    4. 異なるデータ型で外部キーを設定する