SQL Server 函数

SQL Server 有许多内置函数。

本参考手册包含 SQL Server 中的字符串、数值、日期、转换和一些高级函数。

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 返回两个数字的反正切值。
AVG 返回表达式的平均值。
CEILING 返回大于或等于一个数字的最小整数值。
COUNT 返回 SELECT 查询返回的记录数。
COS 返回数字的余弦值。
COT 返回数字的余切值。
DEGREES 将弧度值转换为度数。
EXP 返回 e 的指定数字次幂。
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 高级函数

函数 描述
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 返回数据库用户名。