MySQL中常用的函数

MySQL提供了丰富的函数,用于处理各种数据类型,包括数值、字符串、日期和时间等。这些函数可以帮助用户进行复杂的数据操作,提高数据查询的效率和灵活性。以下是一些常用的MySQL函数:

一、数学函数

数学函数用于执行数学计算,如加法、减法、乘法、除法、取余、四舍五入、取绝对值等。

  • ABS(x):返回x的绝对值。
  • CEIL(x) 或 CEILING(x):返回大于或等于x的最小整数。
  • FLOOR(x):返回小于或等于x的最大整数。
  • ROUND(x, d):将x四舍五入到小数点后d位。
  • TRUNCATE(x, d):将x截断到小数点后d位,不进行四舍五入。
  • EXP(x):返回e的x次方。
  • SQRT(x):返回x的平方根。
  • RAND():返回0到1之间的随机数。
  • PI():返回圆周率。

二、字符串函数

字符串函数用于对字符串类型的数据进行操作,如连接、替换、截取、转换大小写等。

  • CONCAT(str1, str2, ...):连接两个或多个字符串。
  • CONCAT_WS(separator, str1, str2, ...):使用指定的分隔符来连接两个或多个字符串。
  • SUBSTRING(str, pos, len) 或 SUBSTR(str, pos, len):从字符串str的pos位置开始获取长度为len的子字符串。
  • LENGTH(str):返回字符串的字节长度。
  • CHAR_LENGTH(str):返回字符串的字符长度。
  • UPPER(str):将字符串str的所有字母转换为大写。
  • LOWER(str):将字符串str的所有字母转换为小写。
  • LEFT(str, len):返回字符串str的前len个字符。
  • RIGHT(str, len):返回字符串str的后len个字符。
  • TRIM(\[REMSTR FROM] STR):返回字符串STR,其前导和尾随的REMSTR字符串已被删除。如果没有REMSTR,则删除空格。
  • REPLACE(str, from_str, to_str):将字符串str中的from_str替换为to_str。
  • INSERT(str, pos, len, newstr):在字符串str的pos位置插入长度为len的newstr字符串。
  • REVERSE(str):返回字符串str的反转。

三、日期和时间函数

日期和时间函数用于处理日期和时间值,如获取当前日期、时间、日期加减、提取日期部分等。

  • NOW():返回当前的日期和时间。
  • CURDATE():返回当前的日期。
  • CURTIME():返回当前的时间。
  • DATE(date):从日期或日期时间表达式中提取日期部分。
  • TIME(time):从日期时间表达式中提取时间部分。
  • YEAR(date):从日期中提取年份。
  • MONTH(date):从日期中提取月份。
  • DAY(date):从日期中提取日。
  • HOUR(time):从时间中提取小时。
  • MINUTE(time):从时间中提取分钟。
  • SECOND(time):从时间中提取秒。
  • DATE_ADD(date, INTERVAL expr unit):向日期添加指定的时间间隔。
  • DATE_SUB(date, INTERVAL expr unit):从日期减去指定的时间间隔。
  • DATEDIFF(date1, date2):返回两个日期之间的天数差。

四、聚合函数

聚合函数用于执行计算并返回单个值的函数,通常用在SELECT语句的GROUP BY子句中。

  • AVG(expression):返回表达式expression的平均值。
  • COUNT(expression):返回表达式expression的非NULL值的数量。
  • SUM(expression):返回表达式expression的总和。
  • MAX(expression):返回表达式expression的最大值。
  • MIN(expression):返回表达式expression的最小值。

五、逻辑函数

逻辑函数用于执行逻辑操作,如判断条件、选择不同的值等。

  • IF(condition, true_value, false_value):如果条件condition为真,则返回true_value,否则返回false_value。
  • CASE:根据条件选择不同的结果输出。

六、其他函数

  • VERSION():返回MySQL服务器的版本。
  • DATABASE():返回当前数据库的名称。
  • USER():返回当前登录的用户。
  • MD5(str):返回字符串str的MD5加密值。
  • SHA1(str):返回字符串str的SHA-1加密值。
相关推荐
数据库急诊室_阿哲1 小时前
一次加索引建议的复核记录:从报告到签字
数据库·ai数据库
青瓦梦滋2 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
慧都小妮子2 小时前
Wyn商业智能国产数据库适配:数据接入、分析缓存与审计日志验证清单
数据库·数据分析·数据可视化·审计日志·商业智能
Joy T3 小时前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting
杨凯凡4 小时前
MySQL 死锁怎么排查?InnoDB 锁等待与 Spring Boot 整事务重试实战
数据库·spring boot·mysql
Aloudata4 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
Decay__4 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
zhanghaha13144 小时前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
韩曙亮4 小时前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
瑞雪兆丰年兮4 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web