SQL SERVER 系统函数

--1、COL_LENGTH(table,column):返回table表中column字段的长度;
SELECT COL_LENGTH('person','gender'),COL_LENGTH('person','FirstName');

--2、COL_NAME(TABLE_ID,COLUMN_ID)返回指定表中指定字段的名称;
SELECT COL_NAME(OBJECT_ID('person'),1);---返回person表中第1个字段的名称;

--3、DATALENGTH(X):返回字段x的数据的实际长度,即字节数,NULL的长度为NULL;
SELECT DATALENGTH('id'),DATALENGTH('Gender') FROM person WHERE id=2;

--4、DB_ID():返回数据库的编号;
SELECT DB_ID('test2'),DB_ID('master'),DB_ID();--没有指定参数时返回当前数据库的编号;

--5、DB_NAME():返回数据库的名称;
SELECT DB_NAME(),DB_NAME(DB_ID('test')),DB_NAME(DB_ID('test2'));

--6、GETANSINULL():返回当前数据库默认是否允许空值,该函数对ANSI空值NULL返回1,如果没有定义ANSI空值NULL,则返回0;
SELECT GETANSINULL('test2'),GETANSINULL('person'); ---test2是数据库,person是数据表;

--7、HOST_ID():返回服务器端计算机的标识号,返回值类型为CHAR(10);
SELECT HOST_ID();   --使用该函数可以记录那些想数据表中插入数据的计算机终端的ID;

--8、HOST_NAME():返回服务器端计算机的名称;
SELECT HOST_NAME();

--9、OBJECT_ID():返回数据库对象的编号;
SELECT OBJECT_ID('test2.dbo.person');  
   --test2为数据库名称,dbo为架构名称,person为数据表名称,此处为返回person表的对象ID;
   --当指定一个临时表的表名mytemptable时,前面必须加上临时数据库名tempdb,如SELECT OBJECT_ID("tempdb..#mytemptable");

--10、SUSER_ID():根据登录名返回用户的SID(安全标识号);
SELECT SUSER_SID(),SUSER_SID('COMPU\Administrator'); --不带参数时返回当前用户的ID,也可以带参数指定用户;

--11、SUSER_SNAME():返回与安全标识符关联的登录名,返回值类型为NVARCHAR(128);
SELECT SUSER_SNAME(),SUSER_SNAME(0x010500000000000515000000C1289E4023B53F66B8323512E9030000);

--12、OBJECT_NAME():返回数据库对象的名称;
   --示例:查看数据库test2中对象ID值为1205579333的对象名称;
SELECT OBJECT_NAME(1205579333,DB_ID('test2')),OBJECT_ID('test2.dbo.person');

--13、USER_ID():根据指定用户名返回数据库用户的ID,如果没有指定用户名,则返回当前用户的数据库ID;
SELECT USER_ID();

--14、USER_NAME():根据与数据库用户关联的ID返回数据库用户名,返回值类型为nvarchar(256);
SELECT USER_NAME(),USER_NAME(USER_ID());

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server 提供了许多内置的系统函数,这些函数用于处理数据库的各种任务,包括数据转换、日期和时间操作、字符串函数、数学计算以及与系统信息相关的功能。系统函数可以帮助开发者更方便地编写查询,而无需直接访问底层数据。 以下是一些常见的 SQL Server 系统函数类别: 1. **日期和时间函数**:如 `GETDATE()` 获取当前日期和时间,`DATEDIFF()` 计算两个日期之间的差值,`CONVERT()` 进行日期类型转换等。 2. **数学和逻辑函数**:如 `ABS()` 返回数值的绝对值,`CASE` 判断表达式的条件并返回相应结果,`COALESCE()` 或 `NULLIF()` 处理 NULL 值。 3. **字符串函数**:`LEN()` 和 `LENB()` 计算字符串长度,`LEFT()` 和 `RIGHT()` 截取子串,`UPPER()` 和 `LOWER()` 转换大小写等。 4. **聚合函数**:`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()` 分别用于计算数量、总和、平均值、最大值和最小值。 5. **系统信息函数**:`SERVERPROPERTY()` 查询服务器属性,`DB_NAME()` 返回当前数据库名称,`SCHEMA_ID()` 获取对象标识符等。 6. **错误处理函数**:`TRY...CATCH` 用于处理异常情况,`ERROR_NUMBER()` 获取错误号,`ERROR_MESSAGE()` 获取错误信息。 使用这些系统函数时,通常将它们嵌套在 SQL 查询中,以增强查询的功能性和灵活性。请注意,尽管大多数函数在所有版本的 SQL Server 中可用,但某些新功能可能仅支持特定版本或模式。在使用前,请查阅官方文档确认其适用范围。如果你对某个具体函数有疑问,可以直接告诉我,我会进一步解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值