SQL Server系统函数介绍
作者:springsnow 发布时间:2024-01-17 19:50:16
一、常用函数:
APP_NAME: 返回当前会话的应用程序名称(如果应用程序进行了设置)。
SELECT APP_NAME()
COALESCE: 返回其参数中第一个非空表达式
SELECT COALESCE(NULL,NULL,123,NULL)
COL_LENGTH(table,column):返回table表中column字段的长度;
SELECT COL_LENGTH('person','gender'),COL_LENGTH('person','FirstName');
COL_NAME(TABLE_ID,COLUMN_ID):返回指定表中指定字段的名称;
SELECT COL_NAME(OBJECT_ID('person'),1);---返回person表中第1个字段的名称;
COLLATIONPROPERTY: 返回给定排序规则的属性
CURRENT_TIMESTAMP: 返回当前的日期和时间。此函数等价于 GETDATE()
CURRENT_USER: 返回当前的用户。
此函数等价于 USER_NAME()
SELECT CURRENT_USER
DATALENGTH(x): 返回字段x的数据的实际长度,即字节数,NULL的长度为NULL;
SELECT DATALENGTH('id'),DATALENGTH('Gender') FROM person WHERE id=2;
@@ERROR: 返回最后执行的 Transact-SQL 语句的错误代码
fn_helpcollations: 返回 Microsoft® SQL Server™ 2000 支持的所有排序规则的列表。
fn_servershareddrives: 返回由群集服务器使用的共享驱动器名称
fn_virtualfilestats: 返回对数据库文件(包括日志文件)的 I/O 统计
FORMATMESSAGE: 从 sysmessages 现有的消息构造消息。
FORMATMESSAGE 与 RAISERROR 语句的功能相似;但 RAISERROR 立即输出消息而 FORMATMESSAGE: 返回编辑后的信息供进一步处理
GETANSINULL: 返回会话的数据库的默认为空性。
该函数对ANSI空值NULL返回1,如果没有定义ANSI空值NULL,则返回0;
SELECT GETANSINULL('test2'),GETANSINULL('person'); ---test2是数据库,person是数据表;
HOST_ID: 返回工作站标识号。
返回值类型为CHAR(10);
SELECT HOST_ID(); --使用该函数可以记录那些想数据表中插入数据的计算机终端的ID;
HOST_NAME: 返回工作站名称。
SELECT HOST_NAME();
IDENT_INCR: 返回增量值(返回形式为 numeric(@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的
IDENT_SEED: 返回种子值(返回形式为 numeric(@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的
IDENTITY(函数): 只用在带有 INTO table 子句的 SELECT 语句中,以将标识列插入到新表中。
尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。(自动采番时可以起到作用)
ISDATE: 确定输入表达式是否为有效的日期
ISNULL: 使用指定的替换值替换 NULL
SELECT AVG(ISNULL(id,0)) FROM dbo.school AS s
ISNUMERIC: 确定表达式是否为一个有效的数字类型
PRINT ISNUMERIC('1223A')
NEWID: 创建 uniqueidentifier 类型的唯一值
NULLIF: 如果两个指定的表达式相等,则返回空值。
SELECT NULLIF('AA','AA')
PARSENAME: 返回对象名的指定部分。可以检索的对象部分有对象名、所有者名称、数据库名称和服务器名称
PERMISSIONS: 返回一个包含位图的值,表明当前用户的语句、对象或列权限。
@@ROWCOUNT: 返回受上一语句影响的行数
ROWCOUNT_BIG: 返回受执行的最后一个语句影响的行数。该函数的功能与 @@ROWCOUNT 一样,除非 ROWCOUNT_BIG 的返回类型是 bigint。
SERVERPROPERTY: 返回有关服务器实例的属性信息
SESSIONPROPERTY: 返回会话的 SET 选项设置
SESSION_USER: 是一个 niladic 函数,允许在未指定默认值时将系统为当前会话的用户名提供的值插入到表中。还允许在查询、错误信息等中使用用户名
SCHEMA_NAME: 查看Schema的ID和Name
STATS_DATE: 返回最后一次更新指定索引统计的日期
SELECT STATS_DATE(OBJECT_ID('school'),1)
SYSTEM_USER: 返回当前系统用户名
SUSER_ID():根据登录名返回用户的SID(安全标识号)
SELECT SUSER_SID(),SUSER_SID('COMPU\Administrator'); --不带参数时返回当前用户的ID,也可以带参数指定用户;
SUSER_SNAME():返回与安全标识符关联的登录名
返回值类型为NVARCHAR(128);
SELECT SUSER_SNAME(),SUSER_SNAME(0x010500000000000515000000C1289E4023B53F66B8323512E9030000);
@@TRANCOUNT: 返回当前连接的活动事务数
USER_ID():根据指定用户名返回数据库用户的ID,
如果没有指定用户名,则返回当前用户的数据库ID;
SELECT USER_ID();
USER_NAME():根据与数据库用户关联的ID返回数据库用户名,
返回值类型为nvarchar(256);
SELECT USER_NAME(),USER_NAME(USER_ID());
二、插入后返回值的方法:
SCOPE_IDENTITY: 返回为当前会话和当前作用域中的任何表最后生成的标识值。 SELECT SCOPE_IDENTITY();(推荐)
@@IDENTITY: 返回为当前会话的所有作用域中的任何表最后生成的标识值。 SELECT @@Identity;
IDENT_CURRENT: 返回为任何会话和任何作用域中的特定表最后生成的标识值。SELECT IDENT_CURRENT('table_name');
来源:https://www.cnblogs.com/springsnow/p/11573579.html


猜你喜欢
- 一、关于Python操作数据库的概述Python所有的数据库接口程序都在一定程度上遵守 Python DB-API 规范。DB-API定义了
- 目录redigo 对 发布订阅的使用订阅的主题发布redigo 对 发布订阅的使用redigo 对redis 的发布订阅机制放在pubsub
- 初学vue自己新建一个vue项目来做学习demo。不过在编写代码时一直出现空格不规范的警告。严重影响初学者的热情。错误如下图所示。(这样的错
- 在开发中有些敏感接口,例如用户余额提现接口,需要考虑在并 * 况下接口是否会发生问题。如果用户将自己的多条提现请求同时发送到服务器,代码能否扛
- 关于算法的学习,小编觉得编程语言中的算法大都有一些相通的地方,主要的方面一是了解这一算法能用来干什么,另一方面,学习它在这类编程语言中怎么实
- 1.新式类与经典类在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获
- 一,对应点相乘,x.mul(y) ,即点乘操作,点乘不求和操作,又可以叫作Hadamard product;点乘再求和,即为卷积data =
- 一、背景在kubernetes的世界中,很多组件仅仅需要一个实例在运行,比如controller-manager或第三方的controlle
- 一、前言大家好,今天我来介绍我接一个Python单子。我完成这个单子前后不到2小时。首先我接到这个单子的想法是处理Excel表,在两个表之间
- 本文给大家介绍sql server2012安装与启动图文教程,非常详细。sqlserver2012安装步骤如下所示:SQL Server 2
- 这段时间,关于asp的前途,关于asp的好坏的讨论贴,都有好些了。当然,大家的心都是好的,但是一些朋友说的话,真是让人郁闷。个人觉得,在现在
- 需要先装pywin32,windows下调用winapi的接口## _*_ coding:UTF-8 _*___author__ =
- 一、model.py1.1 Channel Shuffledef channel_shuffle(x: Tensor, groups: in
- Go提供几种方法检查变量的类型,在字符串格式化标识%T, 反射方式:reflect.TypeOf, reflect.ValueOf.Kind
- 系统环境:centos7.4一,查看是否安装有数据库:yum list installed | grep mysqld/mariadb二,安
- 要达到如下目的:Mysql数据库会每隔一段时间(可以是2小时,也可以是一天,这个可以自定义),定时对一张库中的表做一个判断,如果这张表的数据
- 本文实例为大家分享了PyQt5实现简单计算器的具体代码,供大家参考,具体内容如下下面我们将介绍使用python的PyQt5图形界面来编写一个
- 问题:Python2获取包含中文的文件名是如果不转码会出现乱码。这里假设要测试的文件夹名为test,文件夹下有5个文件名包含中文的文件分别为
- 目录前言第一步:首先安装相关的依赖包第二步:在django项目配置文件settings.py中注册应用第三步:在django项目配置文件se
- 问题你想实现一个服务器,通过TCP协议和客户端通信。解决方案创建一个TCP服务器的一个简单方法是使用 socketserver 库。例如,下