Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore di SQL Server Conversione implicita perché le regole di confronto del valore non sono state risolte a causa di un conflitto di regole di confronto.

Molto probabilmente avresti bisogno di COLLATE in entrambi i posti.

Select City COLLATE DATABASE_DEFAULT AS Place, State, Country FROM DEPT1
UNION ALL
Select '' COLLATE DATABASE_DEFAULT AS Place, 'Arizona' As State, Country FROM DEPT2

Modifica:potresti averne bisogno su ogni stringa se lo ottieni in un posto

Select
    City COLLATE DATABASE_DEFAULT AS Place,
    State COLLATE DATABASE_DEFAULT AS State,
    Country COLLATE DATABASE_DEFAULT AS Country
FROM DEPT1
UNION ALL
Select
    '' COLLATE DATABASE_DEFAULT,
    'Arizona' COLLATE DATABASE_DEFAULT ,
    Country COLLATE DATABASE_DEFAULT
FROM DEPT2

Modifica2:

Succede perché le regole di confronto delle colonne sono probabilmente diverse dalle regole di confronto del database. Quindi "Città" ha una confronto ma le costanti di stringa ne hanno un'altra.



No