本文共 556 字,大约阅读时间需要 1 分钟。
数据库表中某个字段保存的值为“01,07,08”,需要查询下表中对应的名称。以下是一些可能的解决方法:
使用find_in_set()
函数:
SELECT * FROM test WHERE find_in_set('01', itemname) OR find_in_set('07', itemname) OR find_in_set('08', itemname);
使用正则表达式:
正则表达式可以更简洁地匹配多个值。以下是使用正则表达式的SQL语句:SELECT * FROM test WHERE itemname REGEXP '(01|07|08)';
使用LIKE
和IN
:
IN
子句进行匹配。例如:SELECT * FROM test WHERE itemname LIKE '%01,07,08%' OR itemname LIKE '%01,08%';
不过这种方法可能需要多次重复,且不如正则表达式灵活。
总结:
在支持正则表达式的数据库环境下,使用正则表达式是最优的选择,因为它简洁且灵活,只需修改表达式即可扩展更多值。转载地址:http://zfbfk.baihongyu.com/