1

我有一个允许的格式表,我需要能够根据字符串进行查找。一些示例格式是:

  • ^.^.testdomain.com
  • ^.testdomain.com
  • ^qwerty^.testdomain.com

我需要根据以下示例输入返回一个或多个匹配行:

  • device.name.testdomain.com 将返回第一种和第二种格式
  • johnqwertysmith.testdomain.com 将返回所有格式

不幸的是,字符 '^' 被固定为通配符,这是我无法更改的约束。

我希望也许正则表达式可以在这里救我,也许使用格式作为模式并将其与输入进行比较。正则表达式不是我过去经常使用的东西,所以我不太确定它的功能。如果做不到这一点,还有其他方法可以执行此查找吗?

4

1 回答 1

1

像这样:

SELECT *
FROM yourTable
WHERE @INPUT LIKE REPLACE(yourTable.savedFormat, '^', '%')

这将不允许您利用 savedFormat 列上的任何索引,但我怀疑这些要求无论如何都是没有希望的。

于 2013-09-29T16:58:01.163 回答