在sql2005的查詢語句中,區分大寫的查詢方法

2021-04-17 11:01:26 字數 1602 閱讀 8150

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

--就是在欄位名後加 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 行)

--*/

SQL2005語句大全

一 基礎 1 說明 建立資料庫 create database database name 2 說明 刪除資料庫 drop database dbname 3 說明 備份sql server 建立 備份資料的 device use master exec sp addumpdevice disk t...

SQL2005 高效分頁sql查詢語句經典例項

方法一 sql2005 高效分頁sql查詢語句經典例項 如下 select top 10 from select top page 10 row number over order by id as rownum,id,username from guest where username user ...

分享SQL2005 查詢表結構的SQL語句

1 select 2 case when a.colorder 1then d.name else end as 表名,如果表名相同就返回空 syscolumns 表字段資訊表 a sysobjects d 3 a.colorder as 字段序號,4 a.name as 欄位名,5 case wh...