0

我得到了表格,其中包含字段填充数字(每个 1-2 个符号)像这样(1|5|18|44|98|22),字段也只能包含一个数字(没有分隔符|)我该如何搜索在这个领域某些数字?例如 - 我需要选择行,只包含 5 行。还是只有 18 和 44?

4

2 回答 2

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 都在您的领域,将返回。

于 2012-04-22T09:50:29.823 回答
0

试试这个:

SELECT * FROM table WHERE field REGEXP '(^|\|)digit_you_want_add_here($|\|)'

于 2012-04-22T05:23:03.330 回答