请问使用like关键字如何忽略大小写?

limiteee 2003-10-18 02:34:52
如题
...全文
1174 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-10-18
  • 打赏
  • 举报
回复
1:默认情况下不区分大小写
2: 可用如下语句让SQL区分大小写
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS
--不区分大小写
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--区分大小写


使用如下命令,可以获得更多的规则:
SELECT *
FROM ::fn_helpcollations()

3:
可用: select * from tableName where Upper(字段) like '%'+Upper('abc')+'%'的形式来处理。

angle097113 2003-10-18
  • 打赏
  • 举报
回复
SQL Server 本身在查询分析器当中执行语句的时候就是不区分大小写的吧!
wyp888 2003-10-18
  • 打赏
  • 举报
回复
本身就不区分大小写。
可以把所有的都转成大写或小写.
welyngj 2003-10-18
  • 打赏
  • 举报
回复
yujohny(踏网无痕) :thank you! the experiment succeed to achieve my aim.
yujohny 2003-10-18
  • 打赏
  • 举报
回复
--你必须这样改列的排序规则
ALTER TABLE h
ALTER COLUMN b nvarchar(100) COLLATE Chinese_PRC_CS_AS


--然后再测试:
insert into h select 'weTT'
select * from h where b like '%tt'
welyngj 2003-10-18
  • 打赏
  • 举报
回复
report:
alter database test COLLATE Chinese_PRC_CS_AS
insert into h select 'weTT'
select * from h where b like '%tt'
result:
1 weTT
2 weTT
3 weTT
4 weTT

结果还是不区分大小写
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
select * from tablename where 字段 COLLATE Chinese_PRC_CS_AS like '%asdf%'
yoki 2003-10-18
  • 打赏
  • 举报
回复
alter database 数据库 COLLATE Chinese_PRC_CS_AS

默然情况下为不区分大小写
welyngj 2003-10-18
  • 打赏
  • 举报
回复
MS-SQL Server 本身就不区分大小写。
use pubs
select fname from employee where fname like 'a%'
结果:
Aria
Ann
Annette
Anabela

yujohny 2003-10-18
  • 打赏
  • 举报
回复
alter database 数据库 COLLATE Chinese_PRC_CS_AS

使之区分大小写。
yujohny 2003-10-18
  • 打赏
  • 举报
回复
把你那列名替换下面的colname即可
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS
--不区分大小写
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--区分大小写

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧