Sql Server 与 Access 数据库转换日志

因为公司的项目要出access版本, 这两天做转换工作, 把两者的差异做一个记录备忘: 
  
1. 日期字段的表示

access表示为 #1981-28-12#  默认值 now()
SQLSERVER2000表示为  '1981-02-12'   默认值 getdate()

2. 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关键字后. 单表操作无区别

3. 判断

Sql Server 用 "!=" 和 "<>" 均可以通过, Access 需用 "<>", 用"!="无法通过

4. 关键字

access有很多系统默认关键字, 在写SQL时需要在表名或字段名外加上中括号[字段], 这个我没怎么遇到过

5. 类型转换

SQL Server里面的bigint转到access会变成decimal, 而不是Long, SQL 导出 access时需要改写生成语句, 在ID字段加入 identity(1,1), 否则无法自动编号

6. Like 语句

SQL 写法 like '%xxx%' 转换成access为 like '*xxx*'

7. Alinq

由于项目部分使用Linq, 所以Alinq(www.alinq.org)还是很好用的

暂时用到了这么多, 先写这些吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值