带有正则表达式的SQL查询

时间:2016-01-06 17:55:21

标签: mysql regex

我在一个包含1,2,3的表中有一个字段,我需要的是一种检查此字段以匹配以下内容的方法:

SELECT
  t1.something
FROM
  tblContent t1
WHERE
  1 IN (SELECT comma_delimited_string FROM tblAnother WHERE match=t1.ref)

上述查询中的1是我想在子查询返回的'comma_delimited_string'中匹配的数据。

这不起作用,只有当1是子查询中的第一项时才返回匹配。

我一直在阅读有关正则表达式的内容,但从未在SQL中使用正则表达式。

如果comma_delimited_string包含11,2,3而不是1,则不应返回匹配,只有在comma_delimited_string包含1或1时才匹配,或者1

1 个答案:

答案 0 :(得分:1)

使用:

解决
    SELECT
      t1.something
    FROM
      tblContent t1
    WHERE
      FIND_IN_SET(1, (SELECT comma_delimited_string FROM tblAnother WHERE match=t1.ref))