如何:从MYSQL文本字段中选择仅键入除以|的数字使用REGEXP?

时间:2012-04-22 04:48:23

标签: mysql regex

我得到了包含字段填充数字(每个1-2个符号)的表,如下所示(1 | 5 | 18 | 44 | 98 | 22),字段只能包含一个数字(没有分隔符 | ) 如何在此字段中搜索某些数字? 例如 - 我需要选择行,只包含5.或者只包含18和44?

2 个答案:

答案 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($|\|)'