网络编程
位置:首页>> 网络编程>> Asp编程>> 浅谈ACCESS数据库升迁SQLSERVER注意事项(2)

浅谈ACCESS数据库升迁SQLSERVER注意事项(2)

 来源:asp之家 发布时间:2007-08-11 13:44:00 

标签:ACCESS,SQLSERVER,数据库升级

4,as 后面的计算字段区别
access中可以这样:


select a,sum(num) as kc_num,kc_num*num as all_kc_num  


即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:


select a,sum(num) as kc_num,sum(num)*num as all_kc_num  


即不可以把AS后的字段当作一个数据库字段参与计算。

5,[.]与[!]的区别
  access中多表联合查询时:


select tab1!a as tab1a,tab2!b tab2b from tab1,tab2  


,中间的AS可以不要。
 sqlserve 中则:


select tab1.a as tab1a,tab2.b tab2b from tab1,tab2  


,中间的AS可以不要。
6,联合查询时,
   access中多表联合查询:


’select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b


sqlserve 中则'


select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b


即要加一个虚的表tmptable,表名任意。---

7,access升级到sqlserver时,
  可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
  access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar.把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)

8,true与1=1
access用where true表示条件为真,
sqlserver用where 1=1表示条件为真

9,判断字段值为空的区别
普通空:
Access和sql server一样 where code is null 或 where code is nol null
条件空:
   


Access:iif([num] is null,0,[num])  或 iif([num] is null,[num1],[num]) 
    SQLServer: isnull([num],0) 或 isnull([num],[num1])


10,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  


相关阅读:

asp中access升级到sql server后要做的工作

如何把ACCESS转成SQL数据库

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com