SQL Server中“@@”的用法是什么?

时间:2015-04-16 10:02:38

标签: sql sql-server special-characters

SQL Server中@@的用法是什么?

3 个答案:

答案 0 :(得分:7)

According to MSDN,这些名称的正确名称为system functions

命名混淆(全局变量,系统函数,全局函数)源于SQL Server历史中使用的不同术语。来自MSDN Transact-SQL Variables article

  

一些Transact-SQL系统函数的名称以两个开头   标志(@@)。虽然在早期版本的Microsoft SQL Server中,但是   @@函数被称为全局变量,它们不是   变量并没有与变量相同的行为。该   @@ functions是系统函数,它们的语法用法如下   功能规则。

因此,两个人在' symbols(@@)用于表示某些系统功能。使用短语"全局变量"被弃用了(虽然你仍会看到some people use it),很可能是因为在编程世界中,一个全局变量是一个随处可见的单个值,并且已经指出这里不会发生什么(例如,@@IDENTITY)。

临时表的命名方式可能会引起进一步的混淆。表名称前面的单个散列符号表示本地范围的临时表(例如,#MyLocalTable),非常像单个符号表示本地范围的变量(例如,@MyLocalVariable)。将第二个哈希符号添加到临时表使其成为全局范围(例如,##MyGlobalTable),但尝试将两个符号添加到变量does not produce the same effect

答案 1 :(得分:4)

@用于本地变量

@@用于全局变量或函数。

有几个标准的全局变量或函数,例如:@@IDENTITY@@ROWCOUNT@@TRANCOUNT

答案 2 :(得分:1)

@@用于为内部统计和元数据函数添加前缀,这些函数返回有关如何配置SQL Server的信息,而不是特定于任何特定数据库的信息。

例如,这些包括与数据库建立的连接数(@@CONNECTIONS)以及一周的第一天(@@DATEFIRST

https://msdn.microsoft.com/en-us/library/ms173823.aspx

https://msdn.microsoft.com/en-us/library/ms177520.aspx