这是因为数据库的排序与表字段的排序规则不一致引起的错误,
在 csdn 上有许多解决这类查询的贴子。
在 csdn 上有许多解决这类查询的贴子。
解决方案 »
- 【SQL语句】有图。请教大家怎么写这个语句
- 很沒有看到這樣寫的SQL,請解析一下
- 提示插入重复数据的语句该怎么写? C#.net+ sql 2000
- SQL 安装问题:服务器组件在此操作系统上不受支持?
- 请教 只查询出变化值的SQL语句
- 如何进行【相似查询】 ? 比如查 ABC-1, 可以查到相关的产品ABC-2, AB-3
- sql查询时出现在线程模式下不支持异类查询和oledb访问接口的使用问题
- 通过SQLCLR获取SQLServer服务器上控制面板设定的日期格式不正确?
- 分组去掉相邻重复的记录后求累计时间差
- 求高手帮忙写个触发器或存储过程!在线急等!
- 请教个基本的问题
- 再线等一个很土很简单的问题。请大家帮忙谢谢
可能是你的两个表的排序规则不同
“无法解决 equal to 操作的排序规则冲突。”一.错误分析:
这个错误是因为排序规则不一致造成的,我们做个测试,比如:
create table #t1(
name varchar(20) collate Albanian_CI_AI_WS,
value int)create table #t2(
name varchar(20) collate Chinese_PRC_CI_AI_WS,
value int )表建好后,执行连接查询:select * from #t1 A inner join #t2 B on A.name=B.name 这样,错误就出现了: 服务器: 消息 446,级别 16,状态 9,行 1
无法解决 equal to 操作的排序规则冲突。
要排除这个错误,最简单方法是,表连接时指定它的排序规则,这样错误就
不再出现了。语句这样写:select *
from #t1 A inner join #t2 B
on A.name=B.name collate Chinese_PRC_CI_AI_WS
参考
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=3551