学习oracle技术,每天学一点,每天进步一点
sqlserver2000排序规则
上一篇 /
下一篇 2008-07-02 14:50:33
/ 个人分类:学习
sqlserver2000排序规则
关键词:
sqlserver2000 排序规则 SQL SQL学习 equal SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有 一个错误大家应是经常碰到: SQL SERVER数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误: ITPUB个人空间l h dk#@#HK9R!n ~/h
“无法解决 equal to 操作的排序规则冲突。”
Y(|{Mm0
1U#cjJG0 一.错误分析:
}ry2i$U4@{0 这个错误是因为排序规则不一致造成的,我们做个测试,比如: ITPUB个人空间r\#fj+P-j
v
create table #t1(
jzUVy0 name varchar(20) collate Albanian_CI_AI_WS, ITPUB个人空间.iGm.@?y2[4uK
value int) ITPUB个人空间xeH"~j
ITPUB个人空间%hK F-db([+@
create table #t2(
F4WFqY3B,G0 name varchar(20) collate Chinese_PRC_CI_AI_WS,
&l9J
j2_8b*d:P0 value int ) ITPUB个人空间A$g7SN$@-J[%qN)}z
*TPk
J
[
{qXW0 表建好后,执行连接查询: ITPUB个人空间NF]'blM6i
J E9Me+^ v4GW-E:~ e0 select * from #t1 A inner join #t2 B on A.name=B.name
p6s!^ B
S3aw rn0 ITPUB个人空间:Vo%a?4zs
这样,错误就出现了:
p
XT3c.d0 ITPUB个人空间Q;[wl0n3_,c3r&\
服务器: 消息 446,级别 16,状态 9,行 1
?q:k%ht2L4\)F{Z0 无法解决 equal to 操作的排序规则冲突。 ITPUB个人空间 AV6E\!~
要排除这个错误,最简单方法是,表连接时指定它的排序规则,这样错误就
8R"n
\
F&im%I0 不再出现了。语句这样写:
y
`1gtqjp^0 ITPUB个人空间 v[K1P T$lcJ,U0p-i
select * ITPUB个人空间Om7R3d\/UvT
from #t1 A inner join #t2 B ITPUB个人空间5^)LhL%f(`
on A.name=B.name collate Chinese_PRC_CI_AI_WS
k%p#nbsn.Z0
{^GE]1E q.A0