access基础

*、常用函数

     --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,特殊不同的地方修改即可。

猜你喜欢

转载自lbovinl.iteye.com/blog/2336935