查詢區分大小寫

2021-04-14 11:38:59 字數 1744 閱讀 3005

在sql2000和7.0的查詢語句中,區分大寫的查詢方法

--sql2000,就用下面的方法.

--就是在欄位名後加 collate chinese_prc_cs_as_ws

--區分大小寫、全半形字元的方法

--測試資料

create table 表(fd varchar(10))

insert into 表

select aa='aa'

union all select 'aa'

union all select 'aa'   --全形a

union all select 'a,a'  --全形a,半形,

union all select 'a,a' --全形a,全形,

go--查詢

--1.查大寫字母

select * from 表

where fd collate chinese_prc_cs_as_ws like '%a%' 

--就是在欄位名後加 collate chinese_prc_cs_as_ws

--2.查全形

select * from 表

where fd collate chinese_prc_cs_as_ws like '%a%'

--3.查半形

select * from 表

where fd collate chinese_prc_cs_as_ws like '%,%'

go--刪除測試資料

drop table 表

/*--測試結果

1.查詢大寫字母的結果

fd        

----------

aa2.查詢全形字符的結果

fd        

----------

aaa,a

a,a3.查詢半形字元的結果

fd        

----------

a,a(所影響的行數為 1 行)

--*/

--sql7.0,就用下面的方法.

--如果是全部比較

--下面是測試

select * from(

select fd='a'

union all select 'a'

) awhere cast(fd as varbinary(8000))=cast('a' as varbinary(8000))

/*--測試結果

fd  

----

a(所影響的行數為 1 行)

--*/

--如果是部分匹配,就用charindex:

--下面是測試

select * from(

select fd='a'

union all select 'a'

union all select 'aaaa'

union all select 'aaaa'

union all select 'ccca'

) awhere charindex(cast('a' as varbinary(8000)),cast(fd as varbinary(8000)))>0

/*--測試結果

fd  

----

aaaaa

ccca

(所影響的行數為 3 行)

查詢區分大小寫

在sql2000和7.0的查詢語句中,區分大寫的查詢方法 sql2000,就用下面的方法.就是在欄位名後加 collate chinese prc cs as ws 區分大小寫 全半形字元的方法 測試資料 create table 表 fd varchar 10 insert into 表 sele...

查詢區分大小寫

在sql2000和7.0的查詢語句中,區分大寫的查詢方法 sql2000,就用下面的方法.就是在欄位名後加 collate chinese prc cs as ws 區分大小寫 全半形字元的方法 測試資料 create table 表 fd varchar 10 insert into 表 sele...

查詢區分大小寫

在sql2000和7.0的查詢語句中,區分大寫的查詢方法 sql2000,就用下面的方法.就是在欄位名後加 collate chinese prc cs as ws 區分大小寫 全半形字元的方法 測試資料 create table 表 fd varchar 10 insert into 表 sele...