| 在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 行) --*/ |
正 文
数据库学习:查询区分大小写
www.7dspace.com 更新日期:2005-8-17 3:09:53 七度空间
上一篇:SQL高手篇:精妙SQL语句介绍
下一篇:SQL注入网站入侵实例
作者: 来源:七度空间 ( 责任编辑:7dspace )
站 内 搜 索

热 点 导 读

特 别 推 荐
