我得到了包含字段填充数字(每个1-2个符号)的表,如下所示(1 | 5 | 18 | 44 | 98 | 22),字段只能包含一个数字(没有分隔符 | ) 如何在此字段中搜索某些数字? 例如 - 我需要选择行,只包含5.或者只包含18和44?
答案 0 :(得分:1)
您可以在查询时将管道添加到字段的开头和结尾。
SELECT *
FROM YOUR TABLE
WHERE INSTR( CONCAT('|', field, '|'), '|1|' ) >0
会返回你的行。
SELECT *
FROM YOUR TABLE
WHERE INSTR( CONCAT('|', field, '|'), '|31|' ) >0
将找不到,并且不会返回任何行。
SELECT *
FROM YOUR TABLE
WHERE (INSTR(concat('|',field,'|'), '|18|') >0 and INSTR(concat('|',field,'|'), '|44|') >0)
如果您的领域中有18和44,将返回。
答案 1 :(得分:0)
试试这个:
SELECT * FROM table WHERE field REGEXP '(^|\|)digit_you_want_add_here($|\|)'