使用FIND_IN_SET函数时,我的SQL出了什么问题?

时间:2016-04-11 02:17:16

标签: mysql find-in-set

在我的名为testtb的表中有一个存储文件路径的列,现在我想查找以C:\开头的字段。我使用的是sql,但它总是返回0. what&#39错了?

--example 
select  FIND_IN_SET('C:\\', 'C:\\abc.png' )
-- my sql
 select  FIND_IN_SET('C:\\', filepath) from testtb;

这是我的表数据:

id,    filepath,               srcfilepath
'1', 'C:\20160101\abc.jpg', 'C:\20160101\abc.jpg'
'2', 'D:\20160101\abc.jpg', 'D:\20160101\abc.jpg'
'3', 'E:\TP\20160101\abc.jpg', 'E:\TP\20160101\abc.jpg'

1 个答案:

答案 0 :(得分:1)

find_in_set在这里不合适,like会做你期望的事。

mysql> select  'C:\\abc.png' LIKE 'C:\\\\%';
+------------------------------+
| 'C:\\abc.png' LIKE 'C:\\\\%' |
+------------------------------+
|                            1 |
+------------------------------+
1 row in set (0.00 sec)