回 帖 发 新 帖 刷新版面

主题:为什么'aa'会等于'AA'呢?

在查询分析器输入:
declare @q char(10)
declare @qq char(10)
set @q='aa'
set @qq='AA'
if @q=@qq
print 't'
else
print 'f'
执行结果:t
为什么'aa'会等于'AA'呢?

回复列表 (共6个回复)

沙发

一般情况下sql 语句是不区分大小写的!!

板凳

数据库就是不区分大小写的。所以你不必惊奇。

3 楼

不区分大小写的后果就是,我删除sm8880000记录时,把SM8880000记录也删掉了。请问如何避免此类问题呢?

4 楼

在你那个表上点右键,选择 设计表 ,然后在这个列对应的列名上点一下,在最后一行有个排序规则,点一下后边的带三个点的按纽,在出现的那个界面中选中 区分大小写,然后确定就可以了。。

5 楼

declare @q char(10)
declare @qq char(10)
set @q='aa'
set @qq='AA'
if @q collate Chinese_PRC_CS_AS_WS=@qq collate Chinese_PRC_CS_AS_WS
print 't'
else
print 'f'

执行结果:f

6 楼

@q collate Chinese_PRC_CS_AS_WS=@qq 
这句话是什么意思?

我来回复

您尚未登录,请登录后再回复。点此登录或注册