SQL Server (Transact-SQL) 有许多内置函数。为了参考,提供了所有 SQL Server (Transact-SQL) 函数的列表。这些函数可以使用在 SQL Server (Transact-SQL) 中的查询中, 也可以在SQL Server (Transact-SQL)数据库提供的编程环境中使用,例如存储过程、函数、执行等。

下面是SQL Server (Transact-SQL)函数列表,按类别排序 :

SQL Server 字符串函数

函数说明
ASCII()返回特定字符的 ASCII 值
CHAR()根据ASCII码返回字符
CHARINDEX()返回给定子字符串在字符串中第一次出现的位置
CONCAT()将两个或多个字符串添加在一起
用+连接将两个或多个字符串添加在一起
CONCAT_WS()将两个或多个字符串与分隔符添加在一起
DATALENGTH()返回用于表示表达式的字节数
DIFFERENCE()比较两个 SOUNDEX 值,并返回一个整数值
FORMAT()使用指定格式格式化值
LEFT()从字符串中提取多个字符(从左开始)
LEN()返回字符串的长度
LOWER()将字符串转换为小写
LTRIM() 删除字符串中的前导空格
NCHAR()根据数字代码返回 Unicode 字符
PATINDEX()返回模式在字符串中的位置
QUOTENAME()返回一个 Unicode 字符串,其中添加了分隔符,使该字符串成为有效的 SQL Server 分隔标识符
REPLACE()用新的子字符串替换字符串中所有出现的子字符串
REPLICATE() 将字符串重复指定次数
REVERSE()反转字符串并返回结果
RIGHT()从字符串中提取多个字符(从右开始)
RTRIM()删除字符串尾部空格
SOUNDEX()返回一个四字符代码来评估两个字符串的相似度
SPACE()返回指定数量空格字符的字符串
STR()以字符串形式返回数字
STUFF()删除一部分 一个字符串,然后从指定位置开始将另一部分插入到该字符串中
SUBSTRING()从字符串中提取一些字符
TRANSLATE()将字符串中的字符序列替换为另一组字符。
TRIM()从字符串中删除前导和尾随空格(或其他指定字符)
UNICODE()返回输入表达式第一个字符的 Unicode 值
UPPER() 将字符串转换为大写

SQL Server数学/数字函数

函数描述
ABS()返回数字的绝对值
ACOS()返回数字的反余弦
ASIN()返回数字的反正弦
ATAN()返回数字的反正切
ATN2()返回 两个数字的反正切
CEILING()它对给定数字进行向上取整
COS()返回角度的三角余弦值 
COT()返回角度的三角余切值
DEGREES()将弧度值转换为度数
EXP()返回 e 的指定 number次方
FLOOR()返回 向下取整的数。
LOG()返回 a 的自然对数 数字,或数字到指定底数的对数
LOG10()返回以 10 为底的数字的对数
PI()返回 PI 的值
POWER()返回一个数字的值 另一个数字的幂
RADIANS()将角度值转换为 弧度
RAND()返回 0 到 1 之间的随机数
ROUND()将数字四舍五入到指定的小数位数
SIGN()返回数字的符号
SIN()返回角度的三角正弦
SQRT()返回数字的平方根
SQUARE()返回数字的平方
TAN()返回角度的三角正切

SQL Server聚合函数

函数描述
AVG()返回表达式的平均值
COUNT()返回选择查询返回的记录数
MAX()返回一组值中的最大值
MIN()返回一组值中的最小值
STDEV返回指定表达式中所有值的统计标准差
STDEVP返回指定表达式中所有值的总体统计标准差
SUM()计算一组值的总和
VAR返回指定表达式中所有值的统计方差
VARP返回指定表达式中所有值的总体统计方差

SQL Server 日期/时间函数

函数描述
CURRENT_TIMESTAMP返回当前日期和时间
DATEADD()为日期添加时间/日期间隔,然后返回日期
DATEDIFF()返回两个日期之间的差异
DATEFROMPARTS()返回指定部分的日期(年、月、日值)
DATENAME()返回日期的指定部分(作为字符串)
DATEPART()返回日期的指定部分(作为整数)
DATETIME2FROMPARTS()以指定的精度从指定的日期和时间参数返回日期时间值
DATETIMEFROMPARTS()从指定的日期和时间参数返回日期时间值
DAY()返回指定日期的月份日期
GETDATE()返回当前数据库系统日期和时间
GETUTCDATE()返回当前数据库系统UTC日期和时间
ISDATE()检查表达式,如果是有效日期则返回 1,否则返回 0
MONTH()返回指定日期的月份部分(1到12之间的数字)
SYSDATETIME()返回 SQL Server 的日期和时间
SYSUTCDATETIME()以 UTC 时间形式返回 SQL Server 的日期和时间
TIMEFROMPARTS()以指定精度返回指定时间的时间值
YEAR()返回指定日期的年份部分

SQL Server 高级函数

函数描述ion
@@VERSION返回当前SQL Server安装的系统和构建信息 
CASE()遍历条件并在满足条件时返回一个值 满足第一个条件
CAST()转换一个值(任何类型) 转换为指定数据类型
CHOOSE()返回指定索引号处的项目
COALESCE()返回列表中的第一个非空值
CONVERT()将值(任何类型)转换为指定的数据类型
CURRENT_USER返回 SQL Server 数据库中当前用户的名称
IIF()返回基于条件的值,如果条件为 TRUE,则返回一个值,如果条件为 FALSE,则返回另一个值。 
ISNULL()如果满足条件,则返回指定值 表达式为 NULL,否则返回表达式
ISNUMERIC()测试表达式是否为数字
NULLIF()比较两个表达式,如果相等则返回 NULL。否则,返回第一个表达式。
SESSION_USER返回 SQL Server 数据库中当前用户的名称
SESSIONPROPERTY()返回指定选项的会话设置。
SYSTEM_USER返回当前用户的登录名。
TRY_CAST()尝试将值(任何类型)转换为指定的数据类型
TRY_CONVERT()尝试将值(任何类型)转换为指定的数据类型
USER_NAME()根据指定id返回数据库用户名