MySQL基本函数

基本函数:

|----------------|------------------------------------|----------------------------------------|----------------------------------------------------------------------|
| 函数类别 | 函数名称 | 功能描述 | 示例及结果 |
| 数值函数 - 算术函数 | ABS(x) | 返回 x 的绝对值 | SELECT ABS(-5);返回5 |
| 数值函数 - 算术函数 | CEIL(x) | 返回大于或等于 x 的最小整数 | SELECT CEIL(3.14);返回4 |
| 数值函数 - 算术函数 | FLOOR(x) | 返回小于或等于 x 的最大整数 | SELECT FLOOR(3.14);返回3 |
| 数值函数 - 算术函数 | ROUND(x, d) | 将 x 四舍五入到 d 位小数,省略 d 则默认四舍五入到整数 | SELECT ROUND(3.14159, 2);返回3.14 |
| 数值函数 - 三角函数 | SIN(x) | 接受弧度值 x,返回正弦值 | SELECT SIN(RADIANS(30));返回约0.5(因需先将角度转弧度) |
| 数值函数 - 三角函数 | COS(x) | 接受弧度值 x,返回余弦值 | SELECT COS(RADIANS(60));返回约0.5 |
| 数值函数 - 三角函数 | TAN(x) | 接受弧度值 x,返回正切值 | SELECT TAN(RADIANS(45));返回1 |
| 字符串函数 - 长度与拼接 | LENGTH(str) | 返回字符串 str 的长度(以字节为单位) | SELECT LENGTH('Hello');返回5 |
| 字符串函数 - 长度与拼接 | CONCAT(str1, str2, ...) | 将多个字符串连接成一个字符串 | SELECT CONCAT('Hello', ', ', 'World');返回Hello, World |
| 字符串函数 - 查找与替换 | SUBSTRING(str, pos, len) | 从字符串 str 的位置 pos 开始,提取长度为 len 的子字符串 | SELECT SUBSTRING('Hello World', 7, 5);返回World |
| 字符串函数 - 查找与替换 | REPLACE(str, from_str, to_str) | 将字符串 str 中的所有 from_str 替换为 to_str | SELECT REPLACE('Hello World', 'World', 'MySQL');返回Hello MySQL |
| 日期和时间函数 - 获取当前 | NOW() | 返回当前的日期和时间,格式为 YYYY - MM - DD HH:MM:SS | 执行SELECT NOW();可能返回类似2023 - 10 - 05 14:30:00的结果 |
| 日期和时间函数 - 获取当前 | CURDATE() | 只返回当前的日期,格式为 YYYY - MM - DD | SELECT CURDATE();可能返回2023 - 10 - 05 |
| 日期和时间函数 - 获取当前 | CURTIME() | 只返回当前的时间,格式为 HH:MM:SS | SELECT CURTIME();可能返回14:30:00 |
| 日期和时间函数 - 计算 | DATE_ADD(date, INTERVAL expr unit) | 在日期 date 上加上一个时间间隔 expr,unit 表示时间间隔单位 | SELECT DATE_ADD('2023 - 10 - 05', INTERVAL 1 MONTH);返回2023 - 11 - 05 |
| 日期和时间函数 - 计算 | DATEDIFF(date1, date2) | 计算两个日期 date1 和 date2 之间的天数差 | SELECT DATEDIFF('2023 - 10 - 10', '2023 - 10 - 05');返回5 |
| 聚合函数 | COUNT(expr) | 返回满足条件的记录数,expr 为*时返回表中的所有记录数 | SELECT COUNT(*) FROM users;返回users表中的记录总数 |
| 聚合函数 | SUM(expr) | 返回数值列 expr 的总和 | SELECT SUM(price) FROM products;返回products表中price列的总和 |
| 聚合函数 | AVG(expr) | 返回数值列 expr 的平均值 | SELECT AVG(age) FROM students;返回students表中age列的平均值 |
| 聚合函数 | MAX(expr) | 返回列 expr 中的最大值 | SELECT MAX(score) FROM exams;返回exams表中score列的最大值 |
| 聚合函数 | MIN(expr) | 返回列 expr 中的最小值 | SELECT MIN(score) FROM exams;返回exams表中score列的最小值 |

字符串函数:

|--------------------------------|----------------------------------------------------|---------------------------------------------------------------|
| 函数名称 | 功能描述 | 示例及结果 |
| LENGTH(str) | 返回字符串 str 的长度(以字节为单位) | SELECT LENGTH('Hello');返回5 |
| CONCAT(str1, str2, ...) | 将多个字符串连接成一个字符串 | SELECT CONCAT('Hello', ', ', 'World');返回Hello, World |
| SUBSTRING(str, pos, len) | 从字符串 str 的位置 pos 开始,提取长度为 len 的子字符串 | SELECT SUBSTRING('Hello World', 7, 5);返回World |
| REPLACE(str, from_str, to_str) | 将字符串 str 中的所有 from_str 替换为 to_str | SELECT REPLACE('Hello World', 'World', 'MySQL');返回Hello MySQL |
| UPPER(str) | 将字符串 str 中的所有字符转换为大写 | SELECT UPPER('hello');返回HELLO |
| LOWER(str) | 将字符串 str 中的所有字符转换为小写 | SELECT LOWER('HELLO');返回hello |
| TRIM(\[BOTH | LEADING | TRAILING remstr FROM] str) |
| LEFT(str, len) | 从字符串 str 的左侧开始,提取长度为 len 的子字符串 | SELECT LEFT('Hello World', 5);返回Hello |
| RIGHT(str, len) | 从字符串 str 的右侧开始,提取长度为 len 的子字符串 | SELECT RIGHT('Hello World', 5);返回World |
| FIND_IN_SET(str1, str2) | 在以逗号分隔的字符串 str2 中查找字符串 str1 的位置(从 1 开始计数),若未找到返回 0 | SELECT FIND_IN_SET('apple', 'banana,apple,orange');返回2 |
| INSERT(str, pos, len, newstr) | 在字符串 str 的位置 pos 开始,删除长度为 len 的子字符串,并插入 newstr | SELECT INSERT('Hello World', 7, 5, 'MySQL');返回Hello MySQL |

相关推荐
雨晨源码(同名B站)3 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
DBA小马哥3 小时前
向量数据库入门到进阶:Embedding、ANN算法与RAG落地的关键术语
数据库·算法·embedding
云和数据.ChenGuang4 小时前
fastapi项目拆分实战数据模型
java·服务器·数据库·人工智能·深度学习·fastapi·强化学习
祈禾4 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
东方护航数据恢复(深圳)4 小时前
MySQL_Oracle数据库崩溃修复全攻略_东方护航数据恢复深圳店
数据库·mysql·oracle
y = xⁿ4 小时前
一文掌握Redis常见八股
数据库·redis·缓存
Cloud云卷云舒4 小时前
HaishanDB(海山)|磐维数据库|YashanDB(崖山)深度对比分析
数据库·人工智能·海山数据库·haishandb·移动云海山数据库
weixin_460443564 小时前
企业考试系统如何对接OA、钉钉和企业微信?SSO单点登录、组织同步与权限一致性设计
java·开发语言·数据库
xywww1684 小时前
真实后台页实测:Opus 5 看图写前端的可用边界在哪
linux·服务器·前端·数据库·人工智能·gpt
上海云盾商务经理杨杨5 小时前
SQL 盲注入渗透实战!无报错页面也能成功注入
数据库·sql