access和SQL的语法区别

1,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:‘‘1981-02-12‘‘
2,SQL语句区别,select   ,update   在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE   Tab1
SET   a.Name   =   b.Name
FROM   Tab1   a,Tab2   b
WHERE   a.ID   =   b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE   Tab1   a,Tab2   b
SET   a.Name   =   b.Name
WHERE   a.ID   =   b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
更新单表时:都为:
UPDATE   table1   set   ab=‘12‘,cd=444   where   ....
3,delete语句
access中删除时用:delete   *   from   table1   where   a> 2   即只要把select   语句里的select   换成delete就可以了。
sqlserve   中则为:   delete   from   table1   where   a> 2   即没有*号
4,as   后面的计算字段区别
access中可以这样:select   a,sum(num)   as   kc_num,kc_num*num   as   all_kc_num   即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver   中则为:select   a,sum(num)   as   kc_num,sum(num)*num   as   all_kc_num   即不可以把AS后的字段当作一个数据库字段参与计算。
5,[.]与[!]的区别
access中多表联合查询时:select   tab1!a   as   tab1a,tab2!b   tab2b   from   tab1,tab2   ,中间的AS可以不要。
 sqlserve   中则:select   tab1.a   as   tab1a,tab2.b   tab2b   from   tab1,tab2   ,中间的AS可以不要。
6,联合查询时,
     access中多表联合查询:‘select   a,b   from(
select   a,b   from   tab1   where   a> 3   union   select   c,d   from   tab2   )   group   by   a,b
sqlserve   中则‘select   a,b   from(
select   a,b   from   tab1   where   a> 3   union   select   c,d   from   tab2   )   tmptable   group   by   a,b即要加一个虚的表tmptable,表名任意。---
7,access升级到sqlserver时,
  可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
  access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar-> varchar.把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)
8,true与1=1
access用where   true表示条件为真,
sqlserver用where   1=1表示条件为真
9,判断字段值为空的区别
普通空:
Access和sql   server一样   where   code   is   null   或   where   code   is   nol   null
条件空:
Access:iif([num]   is   null,0,[num])   或   iif([num]   is   null,[num1],[num])  
SQLServer:   isnull([num],0)   或   isnull([num],[num1])
10,SQL语句取子串的区别
access:MID(字段,n1,[n2]),LEFT(字段,n),RIGHT(字段,n)
如:select   left(cs1,4)+‘-‘+cs2   as   cs3  
SQLServer:   SUBSTRING(expression,   start,   length)
如:select   substring(cs1,   1,   2)   +   substring(cs1,   4,   2)   +   ‘-‘   +   cs2   as   cs3

 

10,数据转换

SQL: Convert(int,str)

ACC:Cint(str)

SQL:convert(varchar(2),num)

ACC:Cstr(num)

 

11, ACC中 JOIN要加()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值