在 TFDQuery "like" 模式中使用方括号 [^] 中的帽子时出现问题

Problem using hat in square brackets [^] in TFDQuery "like" pattern

我在 Delphi 10.3 中有 MS Access 2016 table 和 运行ning TFDQuery。

字段 1 的值为:aacabcacca cazcacazzc

我运行查询:

Select * from Table1 WHERE Field1 like 'a[^a-c]c'

参考,我应该得到:

"a c, azc"

但我得到

"aac, abc, acc"

请帮忙改正脚本。

要在 MS Access 中使用 like 运算符匹配负字符集,您应该根据 documentation 使用感叹号,例如:

select * from Table1 where Field1 like 'a[!a-c]c'

您当前的代码匹配字符 ^abc 并被字符 ac 包围,从而解释您当前收到的结果。

根据 below by @TLama, you'll also need to escape the exclamation mark,例如:

select * from Table1 where Field1 like 'a[!!a-c]c'

正确的代码是:

Select * 来自 Table1,其中 Field1 喜欢 'a[!!a-c]c'