Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

报错:

消息 468,级别 16,状态 9,过程 XXXX,第 355 行
Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

OR 

无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。

解决方案:

原语句(错误):

SELECT
a.ShopNo AS DEPTCD, c.[ShopCNName] AS DEPTNAME,a.TodayDate,
SUM(Totalamount) AS Amount
FROM
#abc a
INNER JOIN dbo.PaymentMaster b ON a.TenderNo=b.[PaymentNo]
INNER JOIN dbo.ShopMaster c ON a.[ShopNo]=c.[ShopNo]

修改后正确语句:

SELECT 
a.ShopNo AS DEPTCD, c.[ShopCNName] AS DEPTNAME,a.TodayDate,
SUM(Totalamount) AS Amount
FROM 
#abc a 
INNER JOIN dbo.PaymentMaster b ON a.TenderNo=b.[PaymentNo]
INNER JOIN dbo.ShopMaster c ON a.[ShopNo]=c.[ShopNo] collate Chinese_PRC_CI_AS

 解决方案2:

原语句:

CREATE TABLE #TMP_REALDATA( 
LINE_ID int ,
strCode VARCHAR(10)

修改后语句:

CREATE TABLE #TMP_REALDATA(
LINE_ID int ,
strCode VARCHAR(10) COLLATE DATABASE_DEFAULT,

说明:

http://msdn.microsoft.com/zh-cn/library/ms184391.aspx

三、解决方法

1.将数据库中一个表的字段改成与另一个表中要比较的字段相同的排序规则。

2.在SQL语句的Where子句后面加上类似这样的SQL片段:collate Chinese_PRC_CI_AI_WS

    如:

Select A.* From A,B Where A.a = B.b collate Chinese_PRC_CI_AI_WS


http://blog.csdn.net/xiuhaijuanqiang/article/details/9966379

posted @   po-A  阅读(1166)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

Tushare大数据开放社区-免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资。

Python, Matlab, R, Web数据抽取学习交流。

点击右上角即可分享
微信分享提示