常用SQL与ACCESS数据查询语句的区别


1、对于日期字段:

access表示为: select * from Table where postTime =#1981-28-12#

SQLSERVER2000表示为: select * from Table where postTime ='1981-02-12'

2、多表更新语句区别:

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;

LEFT JOIN

UPDATE A SET A.CategoryCode=B.CategoryCode FROM [LLP_content] A LEFT JOIN [LLP_Category] B ON A.CategoryId=B.id WHERE ...

同样功能的SQL语句在ACCESS中应该是:

UPDATE Tab1 a,Tab2 b SET a.Name = b.Name WHERE a.ID = b.ID;

UPDATE [LLP_content] A LEFT JOIN [LLP_Category] B ON A.CategoryId=B.id SET A.CategoryCode=B.CategoryCode WHERE ...

即:

ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.

更新单表都为: UPDATE table1 set ab='ss',cd=111 where ....

3、as 后面的计算字段区别:

access中可以这样: select a,sum(num) as s_num,s_num*num as all_s_num 即可以把AS后的字段当作一个数据库字段参与计算。

sqlserver 中则为: select a,sum(num) as s_num,sum(num)*num as all_s_num 即不可以把AS后的字段当作一个数据库字段参与计算。

4、true与1=1:

access用 where true表示条件为真 或 where 1=1,

sqlserver用where 1=1表示条件为真

5、判断字段值为空的区别:

普通空: Access和sql server一样 where code is null 或 where code is nol null

条件空:

Access: iif([num] is null,0,[num])

SQLServer: isnull([num],0)

6、条件选择语句区别:

Access:  select *,(iif((IsPass=true),'√','×')) as passFlag  from [LLP_Category]

SQLServer: select *,(case IsPass when 1 then '√' else '×' end) as passFlag from [LLP_Category]

7、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

8、布尔类型的区别:

access: 用“是/否”表示: select * from [Table] where sex=true...

SQLServer:用“bit”表示: selse * from [Table] where sex=1 (或 sex='true')...

9、数据类型转换:

access中用CStr: select CStr(Field) as X from...

SQL Server中用Convert: select Convert(Field) as X from...




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值