sql - 不能公开具有内联函数的 MS Access 查询

标签 sql excel ms-access jet-sql

我有一个 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/

相关文章:

sql - 根据在字段中找到的文本删除记录 (

ms-access - Access 2007 触发器和程序等效项?

mysql - 将表中日期时间的所有列转换为不同的日期格式

java - Oracle 11g 与 Netbeans 7.1 中的 java 连接

mysql - 显示表中除某些列之外的所有列

mysql - 带分组的sql计数

vba - 使用 application.ontime 重复运行宏时 Excel 使用过多内存

mysql - 保留跟踪

excel/vba - 查找列中特定值的第一次和最后一次出现

sql-server - 如何模拟 ODBC 超时错误?