当前位置: 首页 > article >正文

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_falseif(1 > 0, 'Yes', 'No') 返回 'Yes'
ifnull(expression, value)如果 expressionNULL,返回 value,否则返回 expressionifnull(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)。


http://www.kler.cn/a/587984.html

相关文章:

  • 【Linux进程通信】————匿名管道命名管道
  • Matlab 风力发电机磁悬浮轴承模型pid控制
  • 从需求文档到智能化测试:基于 PaddleOCR 的图片信息处理与自动化提取
  • 每日Attention学习28——Strip Pooling
  • CVPR2024 | TT3D | 物理世界中可迁移目标性 3D 对抗攻击
  • day04_Java高级
  • 练习题:89
  • 考研专业课复习方法:如何高效记忆和理解?
  • 应用于电池模块的 Fluent 共轭传热耦合
  • C++学习笔记(二十)——类之运算符重载
  • 代码随想录算法训练营第32天 | 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  • 【数据分析】读取文档(读取Excel)
  • Varjo:为战场各兵种综合训练提供XR技术支持
  • DeepSeek-R1大模型微调技术深度解析:架构、方法与应用全解析
  • 【论文阅读】Cross-View Fusion for Multi-View Clustering
  • Flash Attention原理讲解
  • 【Linux】:socket编程——UDP
  • 传输层tcp/udp
  • 287. 寻找重复数
  • Python实现万年历