今天临时用Access做数据库,长期用SQL Server开发习惯了,总结一下现在为止用到的比较大的差异,以后有新的再补了
1、返回字符串长度:Len(s),LenB(s),前者返回字符数,后者返回字节数,并且Access中Text类型字符统一为2字节,与SQL2000不同。
2、Join的使用:Access中只接受两元连接(我自己发明的词,有意见的帮我改下),即 A Join B on ... 如果要像SQL中使用连续的连接即 A Join B on ... Join C on ...时要使用这样的格式(A Join B on ...) as x Join C on ...
3、临时表的问题:到目前为止Jet-SQL中虽然对临时表有 Create Temptory Table 的声明,但在我查找各方资料之后似乎没有能使用的正确实例。这点对于我这样长期依赖临时表作中间运算的人来说十分不爽。我临时使用的方法是建立几个查询作为临时表来用,然后把他们连接起来组合成一个大的查询使用。由于我的项目很小,只有一个表,所以最后不是很复杂,关于这点是看自己喜好了,建立几个空数据表再配上各自的操作语句也是可以的了。如果谁有什么更好的想法,请留言给我,小弟感激不尽。
4、字符串的空值判断:Access中纯Access环境可以使用Nz(s,0)这样的方式,但这个用法如果和Ado搭配的话是不行的,要换成iif(isNull(s),0,s)这样的写法