查询区分大小写

原创 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 行)
--*/

 

 

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

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

SQL查询区分大小写方法

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

MySql解决不区分大小写和中文模糊查询问题

转载自:http://blog.163.com/origin_zmn/blog/static/1837026922011720101328642/ BINARY不是函数,是类型转换运算符,它用来强制...
  • yangguangxiadeshu
  • yangguangxiadeshu
  • 2015年04月14日 15:52
  • 3539

MySql查询不区分大小写解决方案(两种)

当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感。 解决方案一: 于是怀疑Mysql的问题。做个实验:直接使用...
  • awhip9
  • awhip9
  • 2017年06月12日 16:10
  • 292

SQL Server不区分大小写的问题

(1)  先改数据库结构 默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from test ...
  • qq_20545159
  • qq_20545159
  • 2015年01月30日 21:50
  • 3393

关于Hibernate底层的查询处理(忽略大小写,模糊匹配,自动加载属性)

①模糊匹配 like("属性",条件) ②忽略大小写 li
  • xb12369
  • xb12369
  • 2014年08月28日 17:05
  • 4191

Oracle 查询不区分大小写 (正则函数)

//不区分大小写查询  REGEXP_LIKE(字段名, '(" + keyword+ ")', 'i') " ); Oracle使用正则表达式离不开这4个函数: 1。regexp_like 2...
  • huaishuming
  • huaishuming
  • 2013年05月28日 09:57
  • 5181

lucene 区分大小写问题和解决方案

本文介绍lucene区分大小的原因,和解决方案.关于lucene大小写敏感问题我总结一下: 1.对于分词的Field且使用了StandardAnalyzer等分析器进行索引,同时利用Standa...
  • huaishu
  • huaishu
  • 2013年01月25日 19:06
  • 4448

Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)

like,大小写模糊匹配,oracle
  • wind2006
  • wind2006
  • 2016年07月29日 16:54
  • 1920

如何设置Sql Server数据库查询时区分大小写和全角半角

zhuanzai 开发中常用的数据库有Oracle和Sql Server,Oracle数据库在查询的时候是有大小写区分的,而Sql Server数据库则不区分大小写,如何使Sql Server数据库...
  • lingxyd_0
  • lingxyd_0
  • 2014年04月21日 10:35
  • 4096
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:查询区分大小写
举报原因:
原因补充:

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