本文主要介绍一些基本的数据库函数
1、日期函数 下面是一些常用时间函数的相关信息:
函数名称 描述 current_date() 当前日期 current_time() 当前时间 current_timestamp() 当前时间戳 date(datetime) 返回datetime参数的日期部分 date_add(date, interval d_value_type) 在date中添加日期或时间interval后的数值,单位可以是:year、minute、second、day date_sub(date, interval d_value_type) 在date中减去日期或时间interval后的数值,单位可以是:year、minute、second、day datediff(date1, date2) 两个日期的差,单位是天 now() 当前日期时间
2、字符串函数 以下是将您提供的内容转换为表格的形式,并补充了一些常见的字符串函数:
函数名 描述 charset(str)
返回字符串 str
的字符集。 concat(string1, string2, ...)
连接两个或多个字符串。 instr(string, substring)
返回 substring
在 string
中首次出现的位置,如果没有找到则返回 0。 ucase(string)
将字符串 string
转换为大写。 lcase(string)
将字符串 string
转换为小写。 left(string, length)
从字符串 string
的左边开始取 length
个字符。 length(string)
返回字符串 string
的长度。 replace(str, search_str, replace_str)
在字符串 str
中用 replace_str
替换所有的 search_str
。 strcmp(string1, string2)
逐字符比较两个字符串 string1
和 string2
的大小。 substring(str, position [, length])
从字符串 str
的 position
位置开始,取 length
个字符。 ltrim(string)
去除字符串 string
的前导空格。 rtrim(string)
去除字符串 string
的尾部空格。 trim(string)
去除字符串 string
的前导和尾部空格。 reverse(string)
返回字符串 string
的反转形式。 locate(substring, string [, start])
返回 substring
在 string
中首次出现的位置,从 start
位置开始搜索。 repeat(string, count)
返回字符串 string
重复 count
次的结果。 space(count)
返回由 count
个空格组成的字符串。 mid(string, start, length)
从字符串 string
的 start
位置开始,取 length
个字符。
3、数学函数
函数名称 描述 备注 abs(number)
返回 number
的绝对值。 例如,abs(-5)
返回 5
。 bin(decimal_number)
将十进制数 decimal_number
转换为二进制字符串。 例如,bin(10)
返回 '1010'
。 hex(decimalNumber)
将十进制数 decimalNumber
转换为十六进制字符串。 例如,hex(255)
返回 'FF'
。 conv(number, from_base, to_base)
将 number
从 from_base
进制转换为 to_base
进制。 例如,conv('A', 16, 10)
返回 10
。 ceiling(number)
返回大于或等于 number
的最小整数(向上取整)。 例如,ceiling(3.2)
返回 4
。 floor(number)
返回小于或等于 number
的最大整数(向下取整)。 例如,floor(3.8)
返回 3
。 format(number, decimal_places)
将 number
格式化为指定小数位数的字符串。 例如,format(123.4567, 2)
返回 '123.46'
。 rand()
返回一个随机浮点数,范围在 [0.0, 1.0)
之间。 例如,rand()
可能返回 0.123456
。 mod(number, denominator)
返回 number
除以 denominator
的余数。 例如,mod(10, 3)
返回 1
。 round(number, decimal_places)
将 number
四舍五入到指定的小数位数。 例如,round(3.14159, 2)
返回 3.14
。 sqrt(number)
返回 number
的平方根。 例如,sqrt(16)
返回 4
。 power(base, exponent)
返回 base
的 exponent
次幂。 例如,power(2, 3)
返回 8
。 log(number)
返回 number
的自然对数(以 e
为底)。 例如,log(10)
返回 2.302585
。 log10(number)
返回 number
的常用对数(以 10
为底)。 例如,log10(100)
返回 2
。 exp(number)
返回 e
的 number
次幂。 例如,exp(1)
返回 2.718282
。
特别说明一下这里的向上和向下取整函数
向上取整 (ceiling
) :
返回大于或等于给定数的最小整数。 例如: ceiling(3.2)
返回 4
。ceiling(-1.7)
返回 -1
。 向下取整 (floor
) :
返回小于或等于给定数的最大整数。 例如: floor(3.8)
返回 3
。floor(-1.7)
返回 -2
。
4、其他类型函数
4.1聚合函数
函数名称 描述 示例 count(expression)
返回行数。 count(*)
返回表中的总行数。sum(expression)
返回表达式的总和。 sum(salary)
返回 salary
列的总和。avg(expression)
返回表达式的平均值。 avg(salary)
返回 salary
列的平均值。min(expression)
返回表达式的最小值。 min(salary)
返回 salary
列的最小值。max(expression)
返回表达式的最大值。 max(salary)
返回 salary
列的最大值。group_concat(expression)
将分组中的值连接成一个字符串。 group_concat(name)
返回所有 name
值的逗号分隔列表。
4.2条件函数
函数名称 描述 示例 if(condition, value_if_true, value_if_false)
如果条件为真,返回 value_if_true
,否则返回 value_if_false
。 if(1 > 0, 'Yes', 'No')
返回 'Yes'
。ifnull(expression, value)
如果 expression
为 NULL
,返回 value
,否则返回 expression
。 ifnull(NULL, 'Unknown')
返回 'Unknown'
。coalesce(value1, value2, ...)
返回参数列表中的第一个非 NULL
值。 coalesce(NULL, NULL, 'Hello')
返回 'Hello'
。case when condition then result [else else_result] end
多条件判断,类似于 if-else
语句。 case when score >= 90 then 'A' else 'B' end
根据 score
返回等级。
4.3类型转换函数
函数名称 描述 示例 cast(expression AS type)
将表达式转换为指定类型。 cast('123' AS SIGNED)
返回 123
。convert(expression, type)
将表达式转换为指定类型。 convert('123', SIGNED)
返回 123
。str_to_date(str, format)
将字符串转换为日期。 str_to_date('2023-10-05', '%Y-%m-%d')
返回 2023-10-05
。date_format(date, format)
将日期格式化为指定格式的字符串。 date_format('2023-10-05', '%Y/%m/%d')
返回 '2023/10/05'
。
4.4其他类型函数
函数名称 描述 示例 version()
返回 MySQL 服务器的版本。 version()
返回 '8.0.26'
。database()
返回当前数据库名称。 database()
返回 'mydb'
。user()
返回当前用户和主机名。 user()
返回 'root@localhost'
。last_insert_id()
返回最后插入的 AUTO_INCREMENT
值。 last_insert_id()
返回 10
(如果最后插入的 ID 是 10)。