用于在字符串中搜索字符串的SQL查询(但字符串可能是分开的)

时间:2015-02-15 05:13:47

标签: mysql regex string

我无法弄清楚能够根据包含字符串的列选择行的SQL查询,但字符串可以分开。

例如,我正在搜索的字符串:

1345

匹配:

0123456

包括3件事:

1)

之前的任何字符串

2)

之后的任何字符串

3)中间随机出现的任何字符串

我尝试过使用以下查询

SELECT * FROM Products WHERE FileName LIKE %1345%

SELECT * FROM Products WHERE CONTAINS(FileName, '1345')

但是这些不会选择字符串是否在中间随机。我应该做什么呢?

2 个答案:

答案 0 :(得分:0)

您需要预先准备正则表达式匹配,因此您可以生成这样的查询

SELECT * from name1
WHERE name1.name REGEXP ".*a.*p.*a.*"

答案 1 :(得分:0)

这是在MySQL Workbench中测试的工作解决方案:

SELECT * FROM Products WHERE FileName LIKE '%1%2%3%';

匹配

等条目
  

2004267695,2005,285881,20060004841,20060136398,20080189084和20090189887。

     

Folio 8 1/2 x 13 in

     

1992 - 2003年