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

 我来答
百度网友024827e
2017-11-16 · TA获得超过1657个赞
知道大有可为答主
回答量:1117
采纳率:93%
帮助的人:353万
展开全部
  1. 在创建数据库时,指定要区分大小写,或者后期再做更改也可以alter database dbname  collate chinese_prc_cs_as

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

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

    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')

匿名用户
2020-03-13
展开全部
还需注意区分数据库,sqlserver和mysql的语法不一样:
默认都是不区分大小写的,以下为区分大小写的查询方法
SQL Server ->
collate: select * from 表 where 字段='King' collate chinese_prc_cs_as 或者 转换为varbinary select * from 表 where convert(varbinary(1000),字段)=convert(varbinary(1000),'King')
MySQL ->
select * from 表 where binary 字段='King'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式