SQL Server中如何让SQL语句对字符串大小写敏感

如题所述

在SQL Server中默认对大小写是不敏感的,例如fname='peter'和fname='PETER'结果是一样的。但有时候用户会要求区分大小写,如验证密码等。这种情况下的处理办法就是在字段后加上
collate Chinese_PRC_CS_AS_WS如:select * from HRS_EMPLOYEE where EMPLOYEE_NAME='admin' AND PASSWORD
collate Chinese_PRC_CS_AS_WS='hongli'是否区分大小写与排序规则有关,排序规则中各部分含义如下所示:
举例分析 Chinese_PRC_CS_AI_WS   
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。   
排序规则的后半部份即后缀 含义:   
_BIN 二进制排序   
_CI(CS) 是否区分大小写,CI不区分,CS区分   
_AI(AS) 是否区分重音,AI不区分,AS区分    
_KI(KS) 是否区分假名类型,KI不区分,KS区分    
_WI(WS) 是否区分宽度 WI不区分,WS区分 
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。  
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。  
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。   
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项
温馨提示:内容为网友见解,仅供参考
无其他回答

SQL Server字符串区别大小写方法
法Ⅰ 转换成二进制再比较 由于大小写的ASC码不同 例如 select from T_User where cast(field as varbinary) = cast( Admin as varbinary)法Ⅱ 利用排序规则 也是基于二进制 在字段后加上collate Chinese_PRC_CS_AS_WS 如 select from T_User where userName= admin AND PASSWORD collate Chinese_...

如何使用SQL语句来实现忽略大小写的查询
反过来就可以了,把所有的字母都换为大写,或者小写就可以了。比如,原来的字段存储内容为AAaBVbgtF,那么用upper改为AAABVBGTF,输入的内容不管是不是大写,也一律变为大写,那么就等于在后台的where条件中忽略大小写。比如:某字段a,字段内容大写小都有 select * from table where upper(a) = upper(...

SQLServer中charindex指定敏感性的中文错误
测试结果显示,即使我们采用大小写不敏感方式:charindex('张','王' COLLATE Latin1_General_CI_AS ),结果同样是1。从这里我们可以得出在SQLServer中指定charindex的敏感性,对中文字符会产生意外。解决方法是,确保参数定义为NVARCHAR类型,这将有效避免上述问题。关于版本信息,我们的SQLServer 2016(RTM)...

怎样设置PostgreSQL中字段和表名对大小写敏感
譬如您的数据库中有名为 TUser 的表,您在 PostgreSQL 自带的图形化查询工具中必须使用类似这样的查询语句才能正确执行:SELECT * FROM "TUser",当然它对 SQL 标准中的保留字和关键字是不区分大小写的,所以写成 select * From "TUser" 这样也是完全可以的。另外,PostgreSQL 对数据也是大小写敏感...

Oracle在英文匹配时大小写敏感,如何忽略大小写进行匹配
那么该怎么解决大小写敏感的问题,把需要的数据都查询出来呢?最常见的办法就是把查询的参数和字段中的内容都转化成大写或者都转化成小写,这样就可匹配了。比如如下的查询:select * from hr.EMPLOYEES twhere upper(first_name)=upper('john')但是这样会存在一个问题,就是这个SQL查询无法用到字段上...

SQLserver数据库怎么给指定的表区分大小写?
这个 ALTER DATABASE 语句用来修改数据库的属性,比如改变它的默认排序规则(即 COLLATE)。因此,你可以使用它来设置数据库中所有表都区分大小写。要使用这个语句,你需要先确保你有足够的权限去修改数据库。然后,你可以在 SQL Server Management Studio 中执行以下步骤:打开 SQL Server Management Studio...

SQL 如何区分大小写?
下面语句是设置SQL Server数据库是否区分大小写:(表名和数据库字段名)--修改数据库不区分大小写 alter database 数据库名称 COLLATE Chinese_PRC_CI_AS 如:alter database zjk_cx COLLATE Chinese_PRC_CI_AS --修改数据库区分大小写 alter database 数据库名称 COLLATE Chinese_PRC_CS_AS 如:...

SQL语句区分大小写吗?
SQL大小写并不敏感,但是如果是引起来的字符,则是区分大小写的,示例如下,1、创建测试表,create table test_uporlow(id number, value varchar2(20));2、插入样例数据,insert into test_uporlow values (301,'Abcd');insert into test_uporlow values (302,'cdef');insert into test_uporlow...

sql语句如何忽略大小写?
sql语句中忽略大小写的步骤如下:我们需要准备的材料分别有:电脑、sql查询器。1、首先,打开sql查询器,连接上相应的数据库表,例如test表。2、点击“查询”按钮,输入:select id, keyword from test where keyword like "%shoes%"。3、点击“运行”按钮,此时Shoes也依旧能被查询到。

如何创建区分大小写的 SQL Server 2000 实例
1.. 运行 SQL Server 安装程序来安装"SQL Server 2000 组件",并选择"安装数据 2.. 在"计算机名"对话框中,"本地计算机"是默认选项,本地计算机名显示在编辑框 中。单击"下一步"按钮。3.. 在"安装选项"对话框中单击"创建 SQL Server 新实例或安装客户端工具",然后 单击"下一步"按钮。4.....

相似回答