我正在尝试从我的MS Access 2003创建一个Pass-through SQL语句(是的,我知道它是oldschool但我的双手并列:/)到服务器上的Oracle数据库。
长话短说,服务器表包含冷冻机模型,其中每个模型存在1至5次,ID前缀为指示其条件的值。问题是,我必须获取冰箱的所有“版本”。在Access中我会写一些类似的东西:
SQL = "SELECT Right(FREEZERS.ID,4) FROM FREEZERS WHERE Right(FREEZERS.ID,4) = '" & myID & "'"
但这会在我对Oracle的传递查询中触发错误。甚至可以在传递查询中编写这样的表达式吗?
我正在使用vba和带有连接字符串的QueryDef到服务器(如果我去掉Right() - 表达式,它可以正常工作),然后用结果打开一个记录集。
事先感谢,Viggo
编辑: 啊,对不起..
拿出最后一个谷歌搜索并弹出答案:
显然,Oracle对其中一些功能有不同的语法。在这种情况下,我发现Oracle有一个SUBSTR函数和一个LENGTH函数,解决了我的问题..
搜索中的其他人:关键是搜索Oracle语法而不是传递语法..
来源: http://peoplesofttipster.com/2008/08/18/substringing-and-oracle-sql-basic-trick/
希望它可以帮助别人:)
答案 0 :(得分:0)
如上所述:
在Pass-Through中查询服务器的SQL语言..:)