SQL Query执行反向CONTAINS搜索?

Kyl*_*nes 4 regex sql

我需要搜索Article Tag字符串,它是用户输入字符串的子字符串.

因此,在下面的示例中,如果用户搜索"normal",则查询应返回第1条和第3条,因为第3条具有通配符"norm*".如果我搜索"规范化",那么我应该回到第3和第4条.如果我需要更清楚地解释我的问题,请告诉我.

例-

  • 第1条标签=正常
  • 第2条标签=苹果
  • 第3条标签=标准*
  • 第4条标签=正常化
  • 第5条Tag = corvette

注意 - 我只需要对以*结尾的标记进行子字符串搜索

psa*_*dac 5

最简单的方式做到这一点,但也许不是最有效的,就是更换所有*%在你的桌子,并使用LIKEstatment:

SELECT
  Tag
FROM
  Article
WHERE
  'normal' LIKE REPLACE(Tag, '*', '%')
Run Code Online (Sandbox Code Playgroud)

请参阅SqlFiddle中的示例