日期:2014-05-17  浏览次数:20848 次

如何用like查询字段中带有空格的数据?
本帖最后由 chenfulai 于 2012-12-17 19:39:43 编辑
我有一个表  table0  
id    url
0     aa\bb\cc\dd a.pdf
1     aa\bb\cc\dd a.exe
2     aa\bb\xx\tt.pdf
如何写查询语句查询出带空格的,[dd aa.*]的数据呢?
select * from table0 where url like 'aa\bb\cc\dd a.%' 查不到结果
------解决方案--------------------
测了一下,没问题啊
--CREATE TABLE table0(id INT,   url VARCHAR(256))
--INSERT INTO TABLE0
--SELECT 0 ,    'aa\bb\cc\dd a.pdf'
--UNION ALL 
--SELECT 1,     'aa\bb\cc\dd a.exe'
--UNION ALL 
--SELECT 2,     'aa\bb\xx\tt.pdf'

select * from table0 where url like 'aa\bb\cc\dd a.%' 
/*
id          url
----------- ----------------------------------------------------------------------------------------------------------------
0           aa\bb\cc\dd a.pdf
1           aa\bb\cc\dd a.exe

(2 行受影响)

*/

------解决方案--------------------
有些时候我们看到的空格,可能并不是空格,他们可能是换行符,回车符,制表符

char(9) 水平制表符
char(10)换行键
char(13)回车键
char(32)空格
以可以使用下面查看看你的究竟是哪种


select * from table 
where url like '%'+char(13)+'%'
or url like '%'+char(10)+'%'
or url like '%'+char(32)+'%'
or url like '%'+char(9)+'%'

------解决方案--------------------
你确定是空格?