无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Latin1_General_100_CI_AS" 之间的排序规则冲突。...

本文详细解析了在操作SQL临时表时遇到的排序规则冲突问题,具体为Chinese_PRC_CI_AS和Latin1_General_100_CI_AS之间的冲突。文章提供了两种解决思路:一是修改系统库,但此方法较为复杂;二是更改用户库TE的排序规则,尽管可能引发其他问题。最终选择了修改用户库的排序规则,并提供了具体的SQL语句和验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

操作临时表时提示如下排序规则冲突错误

sql ....忽略...sql  
.....

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Latin1_General_100_CI_AS" 之间的排序规则冲突。

原因

我的 TE库的排序规则是Latin1_General_100_CI_AS, 而系统安装时默认是Chinese_PRC_CI_AS ( 所以系统库xxxxx 的排序规则也是 Chinese_PRC_CI_AS)

解决

既然排序规则冲突了, 那就想办法改成一致, 我这里选择改用户库TE 的排序规则 (改系统库 xxxxx 发现提示不能改)

思路:

  1. 改系统库(比较复杂)
  2. 改用户库(可能会发生乱发等问题)

参考文档

USE master;  
GO  
ALTER DATABASE MyOptionsTest  
COLLATE French_CI_AS ;  
GO  

--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO

转载于:https://www.cnblogs.com/52liming/p/10050650.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值