*、常用函数
--format[$](str,format):
[$]:若有该参数表示返回类型强制改为了:文本类型
str:目标参数
format:格式
函数API详情可参考:http://lbovinl.iteye.com/admin/blogs/2336936
--trim(str):去除两端空格
ltrim(str):去除左边空格,rtrim(str):去除右边空格
--iif(a1=a2 , result , default):
若a1=a2,返回result,否则返回default
--iif(isnulll(str) , result , default)
若str是空,返回result,否则返回default
--now()当前系统时间=date()日期+time()时间
*、access函数与oracle的部分区别
1)Oracle支持连续的Left Join,但是Access不支持。
Access实现Oracle的连续两个Left Join的方法:
Select * From TblA Left Join
(Select * From TblB Left Join TblC )。
2)Oracle可以使用 Select Count( Distinct ColumnName ) From…..的语法,但是Access中不可以。Access中要实现这样的功能,要使用嵌套查询:
Select Count(*) From
( Select Distinct ColumnName From Tbl….)
3)Oracle中,如果TblA Left Join TblB,那么结果集是TblA中数据的数量。但是在Access中,TblA Left Join TblB,结果集的数量是TblA* TblB的数量。
在Oracle中,用一条SQL向一个递增的字段插入数据可以使用如下SQL:
Insert Into TblA ( N_ID ) Values ( ( Select ( Nvl( Max(N_ID), 0 )+1 ) from TblA ) );
但是由于函数的不同,在Access中需要使用下面的SQL:
Insert Into TblA( N_ID ) Values ( IIF( IsNull(DLookUp( ‘Max(N_ID)+1’, ‘TblA’, ‘’ ) ), 1, DLookUp( ‘Max(N_ID)+1’, ‘TblA’, ‘’ ) ) );
DLookUp是Access的一个内置的函数,使用方法为:
DLookup("字段名称" , "表或查询名称" , "条件")
返回的结果为:从根据“条件”,从“表或查询名称”中查出“字段名称”的值。
4)access的基本sql语法还是和oracle很相似的,一般可以直接当成oracle去编写sql,特殊不同的地方修改即可。