SQL Server 常用函数

SQL Server 有许多内置函数。

此引用包含 SQL Server 中的字符串、数字、日期、转换和一些高级函数。


SQL Server 字符串函数

函数描述
ASCII返回特定字符的 ASCII 值
CHAR返回基于 ASCII 码的字符
CHARINDEX返回子字符串在字符串中的位置
CONCAT将两个或多个字符串加在一起
Concat with +将两个或多个字符串加在一起
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返回两个数字的反正切
AVG返回表达式的平均值
CEILING返回大于等于指定数字的最小整数值
COUNT返回 select 查询返回的记录数
COS返回数字的余弦
COT返回数字的余切
DEGREES将弧度值转换为度
EXP返回数字的指定次方(幂)
FLOOR返回小于等于指定数字的最大整数值
LOG返回一个数字的自然对数,或返回一个数字到指定基数的对数
LOG10返回以 10 为底的数字的自然对数
MAX返回一组值中的最大值
MIN返回一组值中的最小值
PI返回 PI 的值
POWER返回数字的指定次方(幂)
RADIANS将度值转换为弧度
RAND返回一个随机数
ROUND将数字舍入到指定的小数位数
SIGN返回数字的符号
SIN返回数字的正弦值
SQRT返回数字的平方根
SQUARE返回数字的平方
SUM计算一组值的总和
TAN返回数字的正切值

SQL Server 日期函数

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

SQL Server 高级函数

函数描述
CAST将值(任何类型)转换为指定的数据类型
COALESCE返回列表中的第一个非空值
CONVERT将值(任何类型)转换为指定的数据类型
CURRENT_USER返回 SQL Server 数据库中当前用户的名称
IIF如果条件为 TRUE,则返回一个值;如果条件为 FALSE,则返回另一个值
ISNULL如果表达式为 NULL,则返回指定值,否则返回表达式
ISNUMERIC测试表达式是否为数字
NULLIF如果两个表达式相等,则返回 NULL
SESSION_USER返回 SQL Server 数据库中当前用户的名称
SESSIONPROPERTY返回指定选项的会话设置
SYSTEM_USER返回当前用户的登录名
USER_NAME基于指定的 id 返回数据库用户名