【问题标题】:Difference between @@ and @ in SQL Server 2008 R2SQL Server 2008 R2 中 @@ 和 @ 的区别
【发布时间】:2014-12-23 07:18:47
【问题描述】:

我正在使用 SQL Server 2008 R2。

我的问题是使用@和@@声明变量有什么区别

在 SQL Server 2008 R2 中:

示例

语法 1:

Declare @a int = 1

select @a;

语法 2:

Declare @@a int = 1

select @@a;

两者在这里做同样的工作。那我们为什么要使用双@@呢?

【问题讨论】:

  • 我的问题有什么问题?为什么我对此投反对票?

标签: sql-server sql-server-2008-r2


【解决方案1】:

没有区别。变量规则声明它们以“@”字符开头并遵循标识符规则。

由于“@”是一个有效的标识符字符,您可以在变量名称的开头添加任意数量的字符。但是,如果匹配与变量同名的系统函数,则查询将无法编译。

在以前的 SQL Server 版本中,@ 描述了一个局部变量,@@ 描述了一个全局变量。现在(SQL 2008)@@ 用于函数名,因此 @@ 不应用作参数名。

在线图书参考http://msdn.microsoft.com/en-us/library/ms187953.aspx

如果有其他问题评论我:)

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 2023-03-04
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多