为什么 Delphi 在 SQLite Select 语句中找不到 & 字符?

Why Delphi can't find & character within SQLite Select statement?

有人知道为什么 Delphi 10.4 或 11.1 无法在 FMX 应用程序的 SQLite SELECT 语句中搜索 & 字符吗?它被视为 space 字符。

我确实在其他平台上尝试过相同的数据库,它运行良好,但即使在 VCL 应用程序中也无法搜索。

我确实尝试在查询结束时使用 ESCAPE,但没有任何改变。

var myQuery      : TFDQuery   ;

myQuery :=TFDQuery.Create(nil);
myQuery.Connection:=FDConnection1;
myQuery.SQL.Text :='SELECT Description,Code,Qty FROM Products WHERE Description LIKE "%J&B%" ';
myQuery.Open;

如果有人能找到解决办法,请帮忙。

& 在 FireDAC 中有特殊处理,如文档所示: Substitution Variables

为避免这种情况,请将 ResourceOptions 中的 MacroCreateMacroExpand 设置为 False。