因为公司的项目要出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)还是很好用的
暂时用到了这么多, 先写这些吧
本文档详细记录了从SQL Server迁移到Access过程中遇到的主要差异,包括日期字段表示、Update语句多表操作、判断符号、关键字使用、类型转换、Like语句及A-LINQ等方面的具体变化。
425

被折叠的 条评论
为什么被折叠?



