在SQL中,函数是用来执行特定操作或计算的内置代码块。这些函数可以大致分为几类,如字符串函数、数值函数、日期和时间函数、聚合函数、系统函数等。由于SQL标准允许不同的数据库系统(如MySQL、PostgreSQL、SQL Server、Oracle等)实现自己的函数集,并可能添加额外的函数,以下是一个跨多个SQL数据库系统较为通用的函数列表示例。请注意,不是所有的数据库都支持这里列出的所有函数,且特定函数的行为和参数可能因数据库而异。
字符串函数
CONCAT(string1, string2, ...)
:连接两个或多个字符串。LENGTH(string)
或LEN(string)
(在某些数据库中):返回字符串的长度。LOWER(string)
:将字符串转换为小写。UPPER(string)
:将字符串转换为大写。SUBSTRING(string, start, length)
或SUBSTR(string, start, length)
:从字符串中提取子字符串。TRIM([BOTH | LEADING | TRAILING] [remstr] FROM] string)
:去除字符串两端的空格或指定字符。REPLACE(string, to_replace, replacement)
:在字符串中替换子字符串。
数值函数
ROUND(number, decimals)
:将数字四舍五入到指定的小数位数。FLOOR(number)
:返回不大于参数的最大整数。CEIL(number)
或CEILING(number)
:返回不小于参数的最小整数。ABS(number)
:返回数字的绝对值。RAND()
或RANDOM()
(取决于数据库):生成一个随机数。
日期和时间函数
NOW()
:返回当前的日期和时间。CURDATE()
:返回当前的日期。CURTIME()
:返回当前的时间。DATE_ADD(date, INTERVAL expr type)
或DATEADD(datepart, number, date)
(取决于数据库):在日期上添加时间间隔。DATEDIFF(expr1, expr2)
:计算两个日期之间的差异。YEAR(date)
、MONTH(date)
、DAY(date)
:从日期中提取年、月、日部分。
聚合函数
COUNT(column_name)
:返回指定列中的行数。SUM(column_name)
:返回指定列值的总和。AVG(column_name)
:返回指定列的平均值。MAX(column_name)
:返回指定列的最大值。MIN(column_name)
:返回指定列的最小值。GROUP_CONCAT(column_name)
(MySQL特有):将来自多个记录的值连接成一个字符串。
系统函数
VERSION()
:返回数据库的版本号。USER()
或CURRENT_USER
:返回当前用户。DATABASE()
或DB_NAME()
(取决于数据库):返回当前数据库名。