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

Sql 在TFDQuery“like”模式中使用方括号[^]中的帽子时出现问题,sql,delphi,ms-access-2016,Sql,Delphi,Ms Access 2016,我有MS Access 2016表,并在Delphi 10.3中运行TFDQuery 字段1值为:aac、abc、acc、ac、azc、ac、azzc 我运行查询: Select * from Table1 WHERE Field1 like 'a[^a-c]c' 关于这一点,我应该得到: "a c, azc" 但是我越来越 "aac, abc, acc" 请帮助更正脚本。要在MS Access中使用like运算符匹配负数字符集,应根据使用感叹号,例如: 您当前的代码与字符a和c所包围的字

我有MS Access 2016表,并在Delphi 10.3中运行TFDQuery

字段1值为:aac、abc、acc、ac、azc、ac、azzc

我运行查询:

Select * from Table1 WHERE Field1 like 'a[^a-c]c'
关于这一点,我应该得到:

"a c, azc"
但是我越来越

"aac, abc, acc"

请帮助更正脚本。

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

您当前的代码与字符a和c所包围的字符^、a、b、c相匹配,因此解释了您当前收到的结果

根据@TLama的以下说明,您还需要,例如:


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

您当前的代码与字符a和c所包围的字符^、a、b、c相匹配,因此解释了您当前收到的结果

根据@TLama的以下说明,您还需要,例如:

正确的代码是:

从表1中选择*字段1,如“a[!!a-c]c”

正确的代码是:


从表1中选择*字段1,如“a[!!a-c]c”

Access SQL like不做正则表达式。像访问正则表达式一样访问SQL。别忘了逃走!启用FireDAC宏时为char。不幸的是,建议的脚本在TFDQUERY中使用时仅返回acc。请提示我如何转义它?@Rati,请参阅主题。不要忘记转义!启用FireDAC宏时返回char。不幸的是,建议的脚本在TFDQUERY中使用时仅返回acc。请提示我如何转义它?@Rati,请参阅主题。
select * from Table1 where Field1 like 'a[!a-c]c'
select * from Table1 where Field1 like 'a[!!a-c]c'