sqlserver 2008,2012哪些不兼容2005的,sql语法上?

足球不是方的 足球不是方的 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
sqlserver 2005 和高版本的(2008,2012)比较,有哪些语法用法上的区别?

比如下面:

declare @date int = cast(convert(nchar(8),getdate(),112) as int)

sql2005中会提示错误 ”不能向局部变量赋予默认值。“

解决方法:

declare @date int

set @date = cast(convert(nchar(8),getdate(),112) as int)

-----------------------------------

原因:

变量在定义中初始化, 是 2008才开始的

你可以在循环前,使用 SET 或者SELECT 语句初始化一下就行, 不要在定义中初始化


现在有个系统要从2005升级到2012,数据库的表或者存储过程,可以通过 脚本导出(兼容)的方式,但是程序端代码嵌套的sql
就没办法了,有哪些升级前需要改的?有哪些是2008不兼容2005的用法,如上。

...全文
评论 1
收藏 已收藏
分享
返回顶部
足球不是方的
MS-SQL Server 34,876 成员 254,635 内容