教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 数据库 > MSSQL教程 >

SQL语句在Access与SQL数据库的区别

时间:2012-08-27 12:59来源:未知 作者:ken 点击:

  虽然这两个数据库都是出自微软之手,不可思意的是SQL语句却有所不同!下面我们就对比两者不同,这里只探讨SQL语句的不同,如果要非常详细认识还得各位查找相应帮助文档。A 为Access缩写,S为SQL数据库缩写。

  1、文本字段的为空的不同:
   A中的语句可以是:where Field=' ' 或者 where Field is null都可以成立。
   S数据库类型是char,却有些不同:where Field=null或where len(Field)=0

  2、时间字段的默认值不同:
   A 中的默认值:Now()
   S数据库默认值:GetDate()

  3、时间字段的比较不同:
   以datediff函数为例。
   A中的语句可以是:where DateDiff('d',Field,Now())=1 ''这是检索时间为今天的记录。
   S中的语句必须是:where DateDiff(dd,Field,Now())=1

  4、时间变量插入不同:
   经常遇到时间赋于一个变量,然后在于变量插入到数据库!站长教学网 eduyo.com
   recordset数据集写入数据库,没有任何区别,但是对于insert into语句就不同!(update语句中也没有区别,不知道‘盖痴’怎么会在这里搞个不同)
   变量:datea,dateb都是从表单接收到的时间类型,经过Cdate转化的变量!
   A中的语句:conn.execute("insert into table(datea,dateb) values(#"&datea&"#,#"&dateb&"#)")
   S中的语句:conn.execute("insert into table(datea,dateb) values("&datea&","&dateb&")")
   其中#号可以是半角引号。变成字符了,呵呵不信试试!

  5、备注类型为空判断:(2007-6-15)
   用ASP写代码时,经常需要判断字段是否为空,最特殊的字段备注型判断为空,在SQL与ACCess不同!
  S语句直接:if rs("Content")="" then
  A语句需要:if isnull(rs("Content")) then

  至于字段类型、长度不同则不在此文探讨范围,有兴趣的话,大家都可以查看联机文档。

(责任编辑:ken)
TAG标签: access sql 数据库 MSSQL
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容