在Sql中使用MS Access的数学函数

dha*_*0us 2 sql ms-access ms-access-2007 ms-jet-ace

我使用MS Access在SQL View中设计了一个查询:

select floor(num1) from t1;
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到"未定义的功能层".

我得到类似的错误了Ceil,Mod,Power,Sign,Sqrt,Trunc,和initcap功能.

Access数据库引擎的SQL语法是否具有相同的功能?

Dav*_*ton 12

用Int()替换Floor().我通过搜索Access帮助文件来学习这一点,在这种情况下,在查询设计器中点击F1,然后搜索"函数".这让我得到了一个比较VBA和T-SQL函数的帮助主题.

您可能应该查看Access数据库引擎SQL Reference.我找不到通过Jet/ACE和Access表达式服务支持的函数的良好在线参考.由于某些未知原因,Access帮助没有包含Jet/ACE表达式,因为Jet 3.0和这个老化的资源最终在一两年前从MSDN中删除了:(

请记住,在Access 2007中运行SQL时,在Access外部使用的Jet/ACE表达式服务支持使用Access表达式服务可能实现的更小的函数子集.一般来说,VBA5函数(与方法不同)涉及Access用户界面之外的简单数据类型(与数组或对象不同); 有关函数名称的近似列表,请参阅此MSDN文章中的"使用Jet 4.0 Service Pack 3及更高版本的沙箱模式操作"部分.

此外,VBE帮助中的函数引用应该是一个起点.

帮助文件并不完美,但一点点搜索应该能满足您的需求.