如何在SQL中实现区分大小写的查询

如何在SQL中实现区分大小写的查询,第1张

在创建数据库时,指定要区分大小写,或者后期再做更改也可以alter database dbname  collate chinese_prc_cs_as

在创建表时,指定要区分大小写,或者后期再做更改也可以 alter table tbname  collate chinese_prc_cs_as

如果只是想使用一次,不想修改整个表或整个数据库。

3.1可以在使用时,将查询或使用到的字段,转成二进制形式进行比较就可以了(大小写的二进制形式肯定是不一样的~)

3.2可以在查询或使用时,指名使用 简体中文做为数据库的查询规则。 指定SQL server的排序规则 Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_Taiwan CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS AS指定区分重音,同样如果不需要区分重音,则改为AI COLLATE可以针对整个数据库更改排序规则,也可以单独修改某一个表或者某一个字段的排序规则,指定排序规则很有用,比如用户管理表,需要验证输入的用户名和密码的正确性,一般是要区分大小写的。 使用collate: select * from 表 where 字段='King' collate chinese_prc_cs_as 或者 转换为varbinary select * from 表 where convert(varbinary(1000),字段)=convert(varbinary(1000),'King')

首先ORACLE不是把列名默认转换为大写状态,而是ORACLE中存储的就是大写状态,也就是说你不特别加引号来标明的话,ORACLE会默认为大写。所以要让ORACLE查询出来是小写,不需要任何设置,只需要创建表的时候就写成是小写,

SQL>create table aa("id" number, "Name" varchar2(10))

表已创建。

SQL>select * from aa

未选定行

SQL>insert into aa values(1,'WANG')

已创建 1 行。

SQL>select * from aa

id Name

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

1 WANG


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6769153.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存