汉字模糊查询

脆沙 2011-01-29 10:56:50
各位砖家,新年好

我的语句是

SELECT 备注 FROM ***表 WHERE (购买商场 LIKE '%二级库%')

结果郁闷的是,没有数据返回

可当我改为

SELECT 备注 FROM ***表 WHERE (购买商场 LIKE '%二级%')

就会有 二级库 的查询结果返回。我真郁闷了。

求原因,求解。

谢谢。
...全文
191 点赞 收藏 23
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
华芸智森 2011-02-15
可能在 二级库 中有不显示的字符.
回复
feilniu 2011-02-11

SELECT 购买商场, CAST(购买商场 AS varbinary(1000)
FROM ***表 WHERE (购买商场 LIKE '%二级%')

看一下你的“二级库”究竟是什么东东?
回复
yibey 2011-02-11
我猜测下,会不会在你2级和库之间有个空格什么的
回复
yy1987316 2011-02-11
现在问题就在这个 库 字上面了

单插个值 N'库' 进去 再用这个记录试
回复
脆沙 2011-02-11
18楼引用错误

[Quote=引用 16 楼 kuangdp 的回复:]
SELECT 备注 FROM ***表 WHERE (购买商场 LIKE '%二级%库%')

这样肯定有结果吧,呵呵 中间有未知字符
[/Quote]

很遗憾的告诉16楼,这样查询没有数据返回,只认'%二%',
'%二级%库%'不认,'%二%库%' 也不认。

呃的神呀。无解中... ...
回复
脆沙 2011-02-11
[Quote=引用 15 楼 maco_wang 的回复:]
1、手动更新或是脚本根据id更新。
2、如果更新不了,就删除,然后重新插入一条数据。
[/Quote]
很遗憾的告诉16楼,这样查询没有数据返回,只认'%二%',
'%二级%库%'不认,'%二%库%' 也不认。

呃的神呀。无解中... ...
回复
叶子 2011-01-29
1、手动更新或是脚本根据id更新。
2、如果更新不了,就删除,然后重新插入一条数据。
回复
脆沙 2011-01-29
[Quote=引用 11 楼 acherat 的回复:]
引用 10 楼 djlaaa 的回复:
我手动更新了下,还是不行。郁闷了


你把其中一个数据的 二级库 先删除了,然后再打个 二级库 进去,注意全半角,然后查查看。
[/Quote]

我试了下,还是不行。
回复
脆沙 2011-01-29
12楼,你说的太好了,太太对了,超级正确。太牛了。赞个。
回复
feixianxxx 2011-01-29
.....
明显你那个二级库 不是你所谓的二级库~
回复
[Quote=引用 10 楼 djlaaa 的回复:]
我手动更新了下,还是不行。郁闷了
[/Quote]

你把其中一个数据的 二级库 先删除了,然后再打个 二级库 进去,注意全半角,然后查查看。
回复
脆沙 2011-01-29
我手动更新了下,还是不行。郁闷了
回复
叶子 2011-01-29
[Quote=引用 8 楼 djlaaa 的回复:]
有含有 库 字的结果,但是该结果不含 二级库

应该改就是 二级库 的 库 字的问题。
[/Quote]
手动更新下这个字
回复
脆沙 2011-01-29
有含有 库 字的结果,但是该结果不含 二级库

应该改就是 二级库 的 库 字的问题。
回复
6#多余了,查的时候按区分全半角试试。
回复

SELECT 备注 FROM ***表 WHERE (购买商场 LIKE '%库%')
--看有结果没!没有说明这个“库”字有问题!
回复
脆沙 2011-01-29
我也是在猜测,但是我用查询复制出来的 二级库 再查也是没有结果。

谢谢二楼 ,正如你说的我确实不区分大小写,不区分半全角。

你的例子是英文,我备注里面都是汉字。我想肯定是汉字编码的问题,

需要说明

我模糊查询 库 的时候确实没有 二级库 被查出来。看来 二级库 的 库 确实 不是 库。

我该怎么办。

谢谢
回复
叶子 2011-01-29

SELECT 备注 FROM ***表 WHERE (购买商场 LIKE '%二级库%')

SELECT 备注 FROM ***表 WHERE (购买商场 LIKE '%二级%')

我估计你的二级和库之间有个小空隙。
回复
gw6328 2011-01-29

-- 不好意思,刚才不贴完
set nocount on
--1--
print '建立初始数据表Customer'
create table Customer(id int,uname varchar(10))
insert into Customer
select 1,'Jim' union all
select 2,'Simith' union all
select 3,'uonun'

select * from Customer

--2--
print '建立初始数据表Info'
create table Info(uname varchar(10),phone varchar(11))
insert into Info
select 'JIM','13800000000' union all
select 'Simith','13911111111' union all
select 'uonun','13812345678'

select * from Info

--3--
print '不区分大小写,不区分全半角'
select c.id,c.uname as 'c.uname',i.uname as 'i.uname',i.phone
from Customer as c inner join Info as i
on c.uname = i.uname

--4--
print '区分大小写,不区分全半角'
select c.id,c.uname as 'c.uname',i.uname as 'i.uname',i.phone
from Customer as c inner join Info as i
on c.uname = i.uname
collate Chinese_PRC_CS_AS

--5--
print '不区分大小写,区分全半角'
select c.id,c.uname as 'c.uname',i.uname as 'i.uname',i.phone
from Customer as c inner join Info as i
on c.uname = i.uname
collate Chinese_PRC_CI_AI_WS

--6--
print '区分大小写,区分全半角'
select c.id,c.uname as 'c.uname',i.uname as 'i.uname',i.phone
from Customer as c inner join Info as i
on c.uname = i.uname
collate Chinese_PRC_CS_AI_WS

DROP TABLE Customer
DROP TABLE Info


/*
建立初始数据表Customer
id uname
----------- ----------
1 Jim
2 Simith
3 uonun

建立初始数据表Info
uname phone
---------- -----------
JIM 13800000000
Simith 13911111111
uonun 13812345678

不区分大小写,不区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
1 Jim JIM 13800000000
2 Simith Simith 13911111111
3 uonun uonun 13812345678

区分大小写,不区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
2 Simith Simith 13911111111
3 uonun uonun 13812345678

不区分大小写,区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
1 Jim JIM 13800000000
3 uonun uonun 13812345678

区分大小写,区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
3 uonun uonun 13812345678
*/
回复
gw6328 2011-01-29
证明后面一个不是"库"字
或者编吧半角全角


on c.uname = i.uname
collate Chinese_PRC_CI_AI_WS

--6--
print '区分大小写,区分全半角'
select c.id,c.uname as 'c.uname',i.uname as 'i.uname',i.phone
from Customer as c inner join Info as i
on c.uname = i.uname
collate Chinese_PRC_CS_AI_WS

DROP TABLE Customer
DROP TABLE Info


/*
建立初始数据表Customer
id uname
----------- ----------
1 Jim
2 Simith
3 uonun

建立初始数据表Info
uname phone
---------- -----------
JIM 13800000000
Simith 13911111111
uonun 13812345678

不区分大小写,不区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
1 Jim JIM 13800000000
2 Simith Simith 13911111111
3 uonun uonun 13812345678

区分大小写,不区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
2 Simith Simith 13911111111
3 uonun uonun 13812345678

不区分大小写,区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
1 Jim JIM 13800000000
3 uonun uonun 13812345678

区分大小写,区分全半角
id c.uname i.uname phone
----------- ---------- ---------- -----------
3 uonun uonun 13812345678
*/
回复
加载更多回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-01-29 10:56
社区公告
暂无公告