Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lỗi SQL Server Chuyển đổi ngầm vì đối chiếu của giá trị không được giải quyết do xung đột đối chiếu.

Rất có thể bạn sẽ cần COLLATE ở cả hai nơi.

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

Chỉnh sửa:Bạn có thể cần nó trên mọi chuỗi nếu bạn lấy nó ở một nơi

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:

Điều này xảy ra bởi vì đối chiếu cột của bạn có thể khác với đối chiếu cơ sở dữ liệu của bạn. Vì vậy, "Thành phố" có một đối chiếu nhưng hằng số chuỗi có một đối chiếu khác.



No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hàm RIGHT () hoạt động trong SQL Server (T-SQL)

  2. SQL Server Lock Escalation

  3. Trả lại tất cả các khóa ngoại và Ràng buộc KIỂM TRA trong Cơ sở dữ liệu SQL Server (Ví dụ T-SQL)

  4. SQL Server 2016:Cải tiến OLTP trong bộ nhớ

  5. Cách DENSE_RANK () hoạt động trong SQL Server