查询区分大小写

原创 2004年02月09日 00:10:00

在sql2000和7.0的查询语句中,区分大写的查询方法

--sql2000,就用下面的方法.
--就是在字段名后加 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        
----------
Aa


2.查询全角字符的结果
fd        
----------
AA
A,A
A,A


3.查询半角字符的结果
fd        
----------
A,A

(所影响的行数为 1 行)
--*/

================================================================

--sql7.0,就用下面的方法.

--如果是全部比较
--下面是测试
select * from(
select fd='a'
union all select 'A'
) a
where 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'
) a
where charindex(cast('A' as varbinary(8000)),cast(fd as varbinary(8000)))>0

/*--测试结果
fd  
----
A
aAaa
cccA

(所影响的行数为 3 行)
--*/

 

 

MySQL查询时强制区分大小写的方法

MySQL查询时强制区分大小写的方法   平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李...
  • wangcunhuazi
  • wangcunhuazi
  • 2015年06月04日 20:14
  • 1962

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

1.问题描述  mysql版本:mariadb 10.1.16,采用utf8-ci,不区分大小写的排序规则。  开发人员反应业务要求要区分大小写,就是说当输入小写条件时,只能返回小写条件对应的数据...
  • zengxuewen2045
  • zengxuewen2045
  • 2016年12月04日 22:37
  • 1113

SQL查询区分大小写方法

一、实例介绍 SQL语句大小写到底是否区分呢?我们先从下面的这个例子来看一下: 例: --> 创建表,插入数据: declare @maco table (number int,myvalue ...
  • c13_tianming
  • c13_tianming
  • 2015年12月18日 16:46
  • 1699

执行SQL查询语句的时候区分大小写

一般情况下我们在执行SQL查询语句的时候是不区分大小写的,要想区分大小写得添加collate排序规则如下: select * from TableName where ZiDuan1 collate ...
  • biaobiao1217
  • biaobiao1217
  • 2014年09月10日 15:20
  • 1557

HQL: Hibernate查询语言--大小写敏感性问题

除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hib...
  • ailihx
  • ailihx
  • 2007年11月30日 14:45
  • 3268

SQL Server 2008 中SQL查询语句中字段值不区分大小写问题处理

一、问题最近在一个系统的对外接口中,经过测试人员测试,发现登录接口中输入的用户名不区分大小写,经过排查找原因,原来是由于数据库忽略了大小写。二、解决办法Select *  from Base_User...
  • taomanman
  • taomanman
  • 2016年07月19日 12:03
  • 4661

hql/sql语句查询英文字符时是不区分大小写的

dd
  • asdfsadfasdfsa
  • asdfsadfasdfsa
  • 2017年08月27日 17:29
  • 218

SQL SERVER 筛选时区分大小写的语法

Demo: --SELECT * FROM 表名 WHERE 列名 COLLATE Chinese_PRC_CS_AS ='筛选字符' --SELECT * FROM 表名 WHERE 列名 C...
  • qq285679784
  • qq285679784
  • 2017年04月06日 17:27
  • 1571

MySQL查询字段不区分大小写,如要区分大小写需要处理

select * from activity_lxorder  where lxkey='Lx14955080775000' ; update activity_lxorder set lxkey=...
  • seapeak007
  • seapeak007
  • 2017年06月05日 19:36
  • 1220

sqlserver查询不区分大小写

现象: sqlserver查询不区分大小写 1:普通sql查询语句 2:查询结果不区分大小写 3:改变sql查询语句区分大小写 4:得到区分大小写的SQL语句 5:也可以将...
  • hcwbr123
  • hcwbr123
  • 2017年09月13日 10:27
  • 200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:查询区分大小写
举报原因:
原因补充:

(最多只允许输入30个字)