MySQL -- 基本函数

本文主要介绍一些基本的数据库函数

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) 返回 substringstring 中首次出现的位置,如果没有找到则返回 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) 逐字符比较两个字符串 string1string2 的大小。
substring(str, position [, length]) 从字符串 strposition 位置开始,取 length 个字符。
ltrim(string) 去除字符串 string 的前导空格。
rtrim(string) 去除字符串 string 的尾部空格。
trim(string) 去除字符串 string 的前导和尾部空格。
reverse(string) 返回字符串 string 的反转形式。
locate(substring, string [, start]) 返回 substringstring 中首次出现的位置,从 start 位置开始搜索。
repeat(string, count) 返回字符串 string 重复 count 次的结果。
space(count) 返回由 count 个空格组成的字符串。
mid(string, start, length) 从字符串 stringstart 位置开始,取 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) numberfrom_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) 返回 baseexponent 次幂。 例如,power(2, 3) 返回 8
log(number) 返回 number 的自然对数(以 e 为底)。 例如,log(10) 返回 2.302585
log10(number) 返回 number 的常用对数(以 10 为底)。 例如,log10(100) 返回 2
exp(number) 返回 enumber 次幂。 例如,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) 如果 expressionNULL,返回 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)。

你可能感兴趣的:(MySQL,mysql,数据库,oracle)