SQL:Return 条包含最后一个字母为除 K 以外的任何单词的记录

SQL: Return records containing a word where the last letter is anything except K

假设我有一个 table 包含一个名为 "Query" 的列。我必须显示此列中的字符串使用 noloc 而不是 nolock 的记录。请注意,noloc 可以是 followed/preceded by ) 或 space 等。我只需要 noloc 之前和之后的所有记录,除了 nolock。 SQL 有办法做到吗?

我试过了:

select * from table1
where Query LIKE '%noloc%'

但这包括包含 nolock 的查询。我尝试了上面的变体,比如在 % 之后将 space 放在 and/or 之前,但是其中 none 满足所有条件。

您可以在 where 子句中同时使用这两个条件

select * from table1
where Query LIKE '%noloc%' and Query NOT LIKE '%nolock%'

你想要任何东西 + noloc + 任何一个字符但 k + 任何东西。这里:

select * from table1
where Query LIKE '%noloc[^k]%'