加入收藏 | 设为首页 | 会员中心 | 我要投稿 海洋资讯信息网_我爱站长网 (https://www.haijunwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

MSSQL系统函数和全局变量详解

发布时间:2022-10-15 16:16:15 所属栏目:MsSql教程 来源:
导读:  SELECT @@LANGUAGE --当前语言

  SELECT @@version --返回数据库版本

  SELECT @@error --返回最后的一次脚本错误

  SELECT @@identity --返回最后的一个自动增长列的id

  SELECT @@MAX
  SELECT @@LANGUAGE --当前语言
 
  SELECT @@version --返回数据库版本
 
  SELECT @@error --返回最后的一次脚本错误
 
  SELECT @@identity --返回最后的一个自动增长列的id
 
  SELECT @@MAX_CONNECTIONS --获取SQL Server允许同时用户连接的最大数
 
  SELECT @@CONNECTIONS --获取自上次启动 SQL Server服务 以来连接或试图连接的次数
 
  SELECT @@SERVICENAME --返回SQL Server默认实例MSSQLSERVER
 
  SELECT @@TOTAL_ERRORS --这个变量用于记录从打开当前连接开始发生的总错误次数
 
  SELECT @@TOTAL_READ --记录从打开当前连接时开始计算的磁盘读取总数
 
  SELECT @@VERSION --包含当前SQL Server实例的完整版本信息
 
  SELECT @@CURSOR_ROWS --这个变量是一个整型值,表示在当前连接中打开的游标中的行数。根据游标类型,这个值也能不代表结果集中的实际行数。
 
  SELECT @@FETCH_STATUS --这个变量是一个标记,用于表示当前游标指针的状态。这个变量主要用来判断某行是否存在,以及在执行了FETCH NEXT语句后,是否已执行到结果集的尾部
 
  SELECT @@PACK_RECEIVED --返回 SQL Server 自上次启动后从网络读取的输入数据包数。
 
  SELECT @@ROWCOUNT --返回受上一语句影响的行数。
 
  SELECT @@TRANCOUNT --返回在当前连接上执行的 BEGIN TRANSACTION 语句的数目
 
  SELECT @@CPU_BUSY --此函数返回自最近一次开始以来,SQL Server 在活动操作中所花的时间。 @@CPU_BUSY 返回一个以 CPU 时间增量或“滴答数”计算的结果。 此值为所有 CPU 时间的累积mssql 函数,因此,可能会超出实际占用的时间。
 
  SELECT @@IDLE --返回 SQL Server 自上次启动后的空闲时间。 结果以 CPU 时间增量或“时钟周期”表示,并且是所有 CPU 的累积,因此该值可能超过实际经过的时间。
 
  SELECT @@IO_BUSY --返回自从 SQL Server 最近一次启动以来, SQL Server 已经用于执行输入和输出操作的时间。 其结果是 CPU 时间增量(时钟周期),并且是所有 CPU 的累积值,所以,它可能超过实际消逝的时间。
 
  SELECT @@PACK_SENT --返回 SQL Server 自上次启动后写入网络的输出数据包个数。
 
  SELECT @@PACKET_ERRORS --返回自上次启动 SQL Server 后在 SQL Server 连接上发生的网络数据包错误数。
 
  SELECT @@TIMETICKS --返回每个时钟周期的微秒数。
 
  SELECT @@TOTAL_ERRORS --返回自上次启动 SQL Server 之后 SQL Server 所遇到的磁盘写入错误数。
 
  SELECT @@TOTAL_READ --返回 SQL Server 自上次启动后由 SQL Server 执行的磁盘读取(非缓存读取)的次数。
 
  SELECT @@TOTAL_WRITE --返回自上次启动 SQL Server 以来 SQL Server 所执行的磁盘写入数。
 
  SELECT @@DBTS --此函数返回当前数据库的当前 timestamp 数据类型的值。 当前数据库将具有确保唯一的时间戳值。
 
  SELECT @@LANGID --返回当前使用的语言的本地语言标识符 (ID)。
 
  SELECT @@LANGUAGE --返回当前所用语言的名称。
 
  SELECT @@LOCK_TIMEOUT --返回当前会话的当前锁定超时设置(毫秒)。
 
  SELECT @@MAX_PRECISION --按照服务器中的当前设置,返回 decimal 和 numeric 数据类型所用的精度级别。
 
  SELECT @@NESTLEVEL --返回在本地服务器上执行的当前存储过程的嵌套级别(初始值为 0)。
 
  SELECT @@OPTIONS --返回有关当前 SET 选项的信息。
 
  SELECT @@REMSERVER --返回远程 SQL Server 数据库服务器在登录记录中显示的名称。
 
  SELECT @@SERVERNAME --返回正在运行 SQL Server 的本地服务器的名称。
 
  SELECT @@SERVICENAME --返回 SQL Server 正在其下运行的注册表项的名称。 若当前实例为默认实例,则 @@SERVICENAME 返回 MSSQLSERVER;若当前实例是命名实例,则该函数返回该实例名。
 
  SELECT @@SPID --返回当前用户进程的会话 ID。
 
  SELECT @@TEXTSIZE --返回 TEXTSIZE 选项的当前值。
 
  SELECT @@VERSION --返回 SQL Server 的当前安装的系统和生成信息
 
  SELECT @@CURSOR_ROWS --它返回在连接上打开的上一个游标中当前拥有的限定行的数目。 为了提高性能, SQL Server 可异步填充大型键集和静态游标。 可调用 @@CURSOR_ROWS 以确定当 @@CURSOR_ROWS 被调用时检索了游标符合条件的行数。
 
  SELECT @@FETCH_STATUS --此函数返回针对连接当前打开的任何游标发出的最后一条游标 FETCH 语句的状态。
 
  SELECT @@DATEFIRST --针对特定会话,此函数返回 SET DATEFIRST 的当前值。
 
  SELECT @@PROCID --返回 Transact-SQL 当前模块的对象标识符 (ID)。 Transact-SQL 模块可以是存储过程、用户定义函数或触发器。 不能在 CLR 模块或进程内数据访问接口中指定 @@PROCID。
 
  SELECT CURRENT_USER --返回当前用户的名字
 
  SELECT HOST_NAME() --计算机名字
 
  SELECT HOST_ID() --计算机ID
 
  SELECT SYSTEM_USER --SYSTEM_USER 返回当前所登陆的用户名称
 
  SELECT USER_NAME(1) --从给定的用户ID 返回用户名
 
  SELECT COL_NAME(OBJECT_ID('test'),1) --函数返回表中指定字段的名称
 
  SELECT DB_ID('master') --返回数据库的编号
 
  SELECT DB_NAME() --函数返回数据库的名称
 
  SELECT GETANSINULL('master') --返回当前数据库默认的NULL值
 
  SELECT OBJECT_ID('sample_db.dbo.student') --返回数据库对象的编号
 
  SELECT SUSER_SID() --根据用户的登录名返回用户的SID(Security Identification Number,安全标识号)
 
  SELECT SUSER_SNAME() --返回与安全标识号(SID)关联的登录名
 
  SELECT USER_ID() --根据用户名返回数据库用户的ID
 
  SELECT GETANSINULL('master') --返回当前数据库默认是否允许空值,该函数对ANSI空值NULL返回1,如果没有定义ANSI空值NULL,则返回0
 
  SELECT OBJECT_NAME(DB_ID('master')) --回数据库对象的名称;
 
  SELECT suser_name() --用户登录名
 
  SELECT user --用户在数据库中的名字
 
  SELECT db_name() --数据库名
 
  SELECT col_length('test',3) --列长度
 
  SELECT newid() --返回一个GUID(全局唯一表示符)值
 
  SELECT isnumeric('231321') --判断表达式是否为数值类型或者是否可以转换成数值。是:返回1,不是:返回0
 
  SELECT APP_NAME() --返回与当前连接相关联的应用程序的名字
 
  --获取当前指定数据库的连接信息
 
  SELECT * FROM master.dbo.sysprocesses WHERE dbid IN
 
  (
 
  SELECT dbid FROM master.dbo.sysdatabases
 
  WHERE
 
  )
 
  --获取当前SQL服务器所有的连接详细信息 以上查询结果包含了:系统进程和用户进程。如果只是想查用户进程的话则需采用下面的方法
 

(编辑:海洋资讯信息网_我爱站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!