私人资料库
本博客大部分技术文章,均从网络搜索得来,旨在收集整理技术资料,文章版权归属原作者,由此引起的任何版权问题,与本人无关。

【转自】在ms sql2000中如何使查询区分大小写

 

参考排序规则:
198  Chinese_PRC_BIN
199 Chinese_PRC_CI_AS

select * from sysobjects where name collate Chinese_PRC_BIN =N'SYSOBjects'
select * from sysobjects where name collate Chinese_PRC_CI_AS =N'SYSOBjects'

alter database 数据库 COLLATE Chinese_PRC_CS_AS

修改排序规则,改成大小写敏感的排序规则

如果只修改一个表,用alter table语句
如果修改一个库的默认排序规则,用alter datebase语句
如果修改整个服务器的默认排序规则,用Rebuildm.exe重建master库

--指定排序规则就可以了

--示例
select replace('Abac' collate Chinese_PRC_CS_AS_WS,'a','试试')


--如果你是要求表支持,则可以建表时指定排序规则,这样replace就不用写排序规则了

--示例
create table tb(a varchar(20) collate Chinese_PRC_CS_AS_WS)
insert tb values('Abac')

select replace(a,'a','试试') from tb

drop table tb

指定排序规则即可

Windows 排序规则名称
在 COLLATE 子句中指定 Windows 排序规则名称。Windows 排序规则名称由排序规则指示器和比较风格构成。

语法
< Windows_collation_name > :: =

    CollationDesignator_<ComparisonStyle>

    < ComparisonStyle > ::=
        CaseSensitivity_AccentSensitivity
        [_KanatypeSensitive [_WidthSensitive ] ]
        | _BIN

参数
CollationDesignator

指定 Windows 排序规则使用的基本排序规则。基本排序规则包括:

当指定按字典排序时应用其排序规则的字母表或语言


用于存储非 Unicode 字符数据的代码页。
例如 Latin1_General 或法文,两者都使用代码页 1252,或土耳其文,它使用代码页 1254。

CaseSensitivity

CI 指定不区分大小写,CS 指定区分大小写。

AccentSensitivity

AI 指定不区分重音,AS 指定区分重音。

KanatypeSensitive

Omitted 指定不区分大小写,KS 指定区分假名类型。

WidthSensitivity

Omitted 指定不区分大小写,WS 指定区分大小写。

BIN

指定使用二进制排序次序。

 

 

--查询
--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 

 

 

---------------------------------------------------------------------------

 

 【转自】http://hi.baidu.com/afawwb/blog/item/0a51abeda760624c78f055d5.html

 

前提是:MS SQL Server2000
alter    database    数据库    collate    排序规格
   其中,某些排序规则指定CI    不区分大小写,CS    指定区分大小写。   
    
   如:alter    database    数据库    COLLATE    Chinese_PRC_CI_AS      不区分大小写   
       alter    database    数据库    COLLATE    Chinese_PRC_CS_AS       区分大小写
    
   使用如下命令,可以获得更多的规则:   
   SELECT    *   
   FROM    ::fn_helpcollations()


posted on 2008-10-28 13:15  该显示名称已被其他用户使用  阅读(656)  评论(0)    收藏  举报