access与mssql通用写法总结
来源:互联网 发布:osi模型网络层相关 编辑:程序博客网 时间:2024/06/15 02:37
首先说一下心得:
一、在处理数据库的时候一定要按标准的写法,否则在转库的时候会带来很大的问题
二、尽量不要用默认值,可以在写入时传值,默认值在sql里占用一定的空间,而且在转换时会很麻烦,需要一个个设置默认值,要养成一个好习惯
注意事项:
一、acc的是/否型和sql的bit型
判断为真:where isok<>0
判断为假:where isok=0
ps:isok=1可用在sql但不能用在acc中,acc用的是isok=-1或者isok (判断为假是 not isok,但不适用于sql)
二、access的文本型和sql的nvarchar型
判断为空:where title='' or title is null
判断非空:where title<>'' and title is not null
ps:只所以用到了null是因为,如果在数据库中复制记录,那么空的文本会是null的无效值,而并非空的字符串
三、时间方面
1、查询或更新
查询通用写法where regtime='"&now()&"'" 如果是acc也可以这个where regtime=#"&now()&"#"
注意,时间一定要包含到外面去,内部时间acc用now(),而sql用getdate()
2、datediff时间比较
ACC:datediff('d',regtime,'"&now()&"')<10
MSSQL(去掉了单引号):datediff(d,regtime,'"&now()&"')<10
3、between时间范围
acc用#包含,mssql用'包含
where addtime between #"&sj1&" 00:00:01# and #"&sj2&" 23:59:59#
where addtime between '"&sj1&" 00:00:01' and '"&sj2&" 23:59:59'
四、备注类型要通过cast(column as varchar)或convert(nvarchar(500),username)来使用
五、查询问题
通常小数据使用like来查询,但在mssql中的ntext字段不能使用replace和like函数,通用的方法是用instr来判断
access可以使用instr,但在mssql中不存在instr,需要改用charindex,注意instr和charindex的使用方法是相反的
总之:在acc和sql并存情况下,要避免时间字段上的问题
最后发一个mssql2000升级mssql2005升级mssql2008的说明,顺向升级的话,直接附加库就直接能用,库是兼容的,逆向降级的话,我倒没试过,大家可以试一下,这个下滑升级网上搜索不了,还是自己试了才知道
一、在处理数据库的时候一定要按标准的写法,否则在转库的时候会带来很大的问题
二、尽量不要用默认值,可以在写入时传值,默认值在sql里占用一定的空间,而且在转换时会很麻烦,需要一个个设置默认值,要养成一个好习惯
注意事项:
一、acc的是/否型和sql的bit型
判断为真:where isok<>0
判断为假:where isok=0
ps:isok=1可用在sql但不能用在acc中,acc用的是isok=-1或者isok (判断为假是 not isok,但不适用于sql)
二、access的文本型和sql的nvarchar型
判断为空:where title='' or title is null
判断非空:where title<>'' and title is not null
ps:只所以用到了null是因为,如果在数据库中复制记录,那么空的文本会是null的无效值,而并非空的字符串
三、时间方面
1、查询或更新
查询通用写法where regtime='"&now()&"'" 如果是acc也可以这个where regtime=#"&now()&"#"
注意,时间一定要包含到外面去,内部时间acc用now(),而sql用getdate()
2、datediff时间比较
ACC:datediff('d',regtime,'"&now()&"')<10
MSSQL(去掉了单引号):datediff(d,regtime,'"&now()&"')<10
3、between时间范围
acc用#包含,mssql用'包含
where addtime between #"&sj1&" 00:00:01# and #"&sj2&" 23:59:59#
where addtime between '"&sj1&" 00:00:01' and '"&sj2&" 23:59:59'
四、备注类型要通过cast(column as varchar)或convert(nvarchar(500),username)来使用
五、查询问题
通常小数据使用like来查询,但在mssql中的ntext字段不能使用replace和like函数,通用的方法是用instr来判断
access可以使用instr,但在mssql中不存在instr,需要改用charindex,注意instr和charindex的使用方法是相反的
总之:在acc和sql并存情况下,要避免时间字段上的问题
最后发一个mssql2000升级mssql2005升级mssql2008的说明,顺向升级的话,直接附加库就直接能用,库是兼容的,逆向降级的话,我倒没试过,大家可以试一下,这个下滑升级网上搜索不了,还是自己试了才知道
0 0
- access与mssql通用写法总结
- access和MSSQL时间天数查找SQL语句写法
- mssql与access的sql语法差异
- 软件工程通用makefile写法学习总结
- C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库
- C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库
- C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库
- SQL语句比较时间注意点。access与MSSQL差别
- DTcms V2.1 正式版MSSQL与ACCESS源码
- MSSQL写法精炼
- mssql 循环语句写法
- mssql 通用存儲過程
- 从mssql到access
- access转MSSQL经验之谈
- ACCESS数据导入MSSQL
- mssql连接Access
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- 解决WebBrowser控件打开本地页面报安全提示的问题
- eclipse出现小红叉,却又找不到 哪个文件错误
- lintcode(178)图是否是树
- HBase配置web界面
- HDU 2258 Continuous Same Game (1) (dfs+模拟)
- access与mssql通用写法总结
- SpringMVC日期类型转换问题二大处理方法
- vim配置
- 常见算法在实际项目中的应用
- 随机读取几条文章的sql写法
- Linux16.04配置tensorflow(GPU源码编译)并深入了解tensorboard
- 解决导出excel时出现的日期变#号,长数字变科学记数法的问题
- bzoj1228: [SDOI2009]E&D
- Jquery