我有一个 MS Access 2003 数据库,其中包含以下查询:
SELECT Replace(Trim(TABLE_A.Field_01), "XXX", "YYY") AS FLD01 FROM TABLE_A
如果我从这个 Access 数据库中使用 Excel 执行“导入数据”,我找不到在数据库中定义的这个查询的名称。
如果我通过删除 Trim 函数来更改查询,那么我可以在 Excel 中看到查询。
SELECT RTrim(LTrim(TABLE_A.Field_01)) AS FLD01 FROM TABLE_A
有没有人有类似的经历?我认为可以将哪种功能应用于 MS Access 中的查询是有限制的。
看起来 MS Jet SQL 存在问题,它不支持 Replace() 函数 - 在 google 中搜索关键词“Jet Sql Replace Function”会给出很多具有相同根本原因的各种问题的引用,但是我还没有找到合适的解决方案...
最佳答案
Trim() 函数不是 SQL 的一部分(位于 VBA.Strings 库中),因此无法在 MS Access 之外调用。
因此,您可以使用任何 SQL 函数,但不能使用“外部”函数。
关于sql - 不能公开具有内联函数的 MS Access 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19628088/