MAK*_*MAK 0 sql-server sql-server-2008-r2
我正在使用 SQL Server 2008 R2。
我的问题是使用 @ 和 @@ 声明变量有什么区别?
在 SQL Server 2008 R2 中:
示例:
语法 1:
Declare @a int = 1
select @a;
Run Code Online (Sandbox Code Playgroud)
语法 2:
Declare @@a int = 1
select @@a;
Run Code Online (Sandbox Code Playgroud)
两者都在这里做同样的工作。那为什么要使用双@@呢?
没有区别。变量规则规定它们以“@”字符开头并遵循标识符规则。
由于“@”是一个有效的标识符字符,因此您可以在变量名称的开头使用任意数量的字符。但是,如果匹配与变量同名的系统函数,则查询将不会编译。
在以前版本的 SQL Server 中,@ 描述了一个局部变量,@@ 描述了一个全局变量。现在(SQL 2008)@@ 用于函数名称,因此@@ 不应用作参数名称。
在线图书参考http://msdn.microsoft.com/en-us/library/ms187953.aspx
如果有任何其他问题评论我:)
归档时间: |
|
查看次数: |
3666 次 |
最近记录: |