如何在sql server中的类似查询中包含空字符串

时间:2012-08-10 12:08:06

标签: sql-server sql-server-2005

这似乎很容易,但不知怎的,我无法想到它。

我想用这种格式写一个类似的查询:

WHERE Searchfield LIKE '[ ;]Mark'

现在这将检​​查

的出现
' Mark', ';Mark'

我希望它能够搜索以下字符串:

'Mark'

如何指示它可能出现空格,分号或无字符。

2 个答案:

答案 0 :(得分:5)

可能最容易使用

WHERE Searchfield LIKE '[ ;]Mark' OR  Searchfield = 'Mark'

如果Searchfield被编入索引,那么您可能会找到

WHERE Searchfield IN ('Mark', ' Mark', ';Mark')

为您提供更好的计划。 Like模式语法与正则表达式可选字符类没有等价物。虽然您可以使用CLR正则表达式和以下正则表达式[ ;]?Mark

答案 1 :(得分:0)

这看起来像全文的设计目的。如果是常见的查询调用,请使用全文搜索。然后,您的搜索字词将只是“标记”。