在我的表testtb中有一列存储文件路径,现在我想找到C:\.I中开始使用的字段,但是它总是返回0。
--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'发布于 2016-04-11 02:22:23
你只是有点困惑。find_in_set()是指MySQL中的一组值。在MySQL中,这些值由逗号:'1,2,3'或'abc,def,ghi'分隔。
我认为您正在寻找instr()或position()函数:
select instr('C:\\abc.png', 'C:\\')发布于 2016-04-11 02:29:21
find_in_set在这里是不合适的,like会做您想做的事情。
mysql> select 'C:\\abc.png' LIKE 'C:\\\\%';
+------------------------------+
| 'C:\\abc.png' LIKE 'C:\\\\%' |
+------------------------------+
| 1 |
+------------------------------+
1 row in set (0.00 sec)https://stackoverflow.com/questions/36538803
复制相似问题