sql >> Databáze >  >> RDS >> Sqlserver

Chyba serveru SQL Server Implicitní převod, protože řazení hodnoty není vyřešeno kvůli konfliktu řazení.

S největší pravděpodobností budete potřebovat COLLATE na obou místech.

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

Edit:Možná to budete potřebovat na každém řetězci, pokud to dostanete na jednom místě

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

Edit2:

Stává se to proto, že vaše řazení sloupců se pravděpodobně liší od řazení vaší databáze. Takže "City" má jedno řazení, ale řetězcové konstanty mají jiné.



  1. Rozdíl mezi LIKE a =v MYSQL?

  2. Rozdělení hodnot oddělených čárkami ve sloupcích do více řádků na serveru SQL Server

  3. pgFincore 1.2, rozšíření PostgreSQL

  4. Implementace převzetí služeb při selhání v MS SQL Server 2017 Standard