1、原来属性为"是/否"的字段将被转换成非空的"bit"
所以需要把 字段=true 改成 字段=1
字段=false 改成 字段=0
2、所有的默认值都丢失了。主要是数字类型和日期类型
3、 所有的sql语句中的“now()”必须换成“getdate()”
4、时间查询
access select * from table where time >#2008-1-8# and time <#2008-1-30#
mssql select * from table WHERE (time BETWEEN '2008-1-8' AND '2008-1-30' )
5、日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对
SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
所有datediff('ww', time1, time2)要改成datediff(week, time1, time2)
所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
6、nvarchar字段求和时
错误提示“sum or average aggregate 运算不能以 nvarchar 数据类型作为参数。”
sum(字段) 改成 sum(cast(字段 as float))
7、在mssql server中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字