系统函数使您得以访问 Microsoft® SQL Server™ 系统表中的信息,而不必直接访问系统表。
下面是用于数据库、主机、对象、登录和用户的五对系统函数,若给定了标识符 (ID),则可用这组函数返回名称;若给定了名称,则可用这组函数返回 ID:
例如,使用 DB_ID 函数可获得数据库的 ID 号,而不用对 sysobjects 表执行 SELECT。
下例显示如何检索当前登录用户的用户名(使用 SQL Server 身份验证):
SELECT SUSER_NAME()
下面的函数与此类似,但它们不是成对出现的,而且带有的输入参数不止一个:
返回列名。
返回列长度。
返回索引列名称。
COL_LENGTH 返回列长度,而不是列中存储的任何单个字符串的长度。可用 DATALENGTH 函数来确定特定值中的字符总数。
下面的示例返回 Employees 表中 LastName 列的列长度和数据长度:
SELECT COL_LENGTH('Employees', 'LastName') AS Col_Length,
DATALENGTH(LastName) AS DataLength
FROM Employees
WHERE EmployeeID > 6
说明 建议使用系统函数、信息架构视图或系统存储过程来获取对系统信息的访问,而不必直接查询系统表。不同版本 SQL Server 的系统表可能会有极大的不同。