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

Tor*_*edo 1 sql-server sql-server-2005

这似乎是一件容易的事,但不知怎的,我无法想到它.

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

WHERE Searchfield LIKE '[ ;]Mark'
Run Code Online (Sandbox Code Playgroud)

现在这将检​​查是否出现了

' Mark', ';Mark'
Run Code Online (Sandbox Code Playgroud)

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

'Mark'
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ith 5

可能最容易使用

WHERE Searchfield LIKE '[ ;]Mark' OR  Searchfield = 'Mark'
Run Code Online (Sandbox Code Playgroud)

如果Searchfield已编入索引,那么您可能会发现

WHERE Searchfield IN ('Mark', ' Mark', ';Mark')
Run Code Online (Sandbox Code Playgroud)

给你一个更好的计划.Like模式语法中没有等效的正则表达式可选字符类.虽然您可以使用CLR正则表达式和以下正则表达式[ ;]?Mark