MySQL常用函数大锦囊

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL常用函数大锦囊

1.字符串函数

函数 功能
concat(s1, s2,…,sn) 链接s1,s2,…,sn为一个字符串
insert(str, x, y, instr) 将字符串str从x位置开始,y个字符长度的子串替换为instr字符串
lower(str) 字符串中所有字符变小写
upper(str) 字符串所有字符变大写
left(str, x) 返回str字符串最左边的x个字符
right(str, x) 返回最右边x个字符
lpad(str, n, pad) 用字符串pad对str最左边进行填充, 直到长度为n个字符长度
rpad(str, n, pad) 用字符串pad对str最右边进行填充, 直到长度为n个字符长度
ltrim(str) 去掉字符串str左侧的空格
rtrim(str) 去掉字符串str右侧的空格
repeat(str, x) 返回str重复x次的结果
replace(str, a, b) 用字符串b去替换str中出现的所有a
strcmp(s1, s2) 比较字符串s1, s2
trim(str) 去掉字符串行尾和行头的空格
substring(str, x, y) 返回字符串str x位置起y个长度的字符串

concat

select concat ('aaa', 'bbb', 'ccc'), concat('aaa', null)

结果aaabbbccc, 第二个是NULL

insert

select() insert ('hello world', 7, 5, 'new world')

结果hello new world

lower和upper

select lower('HElLO'), upper(WorlD)

结果hello, WORLD

…其他的用法一样,对照表格就可以

2. 数值函数

函数 功能
abs(x) 绝对值
ceil(x) 返回大于x的最小整数值
floor(x) 返回小于x的最大整数值
mod(x, y) 返回x / y
rand0 返回0-1内的随机值
round(x, y) 返回参数x的四舍五入的有y位小数的值
truncate(x, y) 返回数字x截断为y位小数的值

3.日期和时间函数

函数 功能
curdate() 当前日期
curtime() 返回当前时间
now() 返回当前的日期和时间
unix_timestrap(date) 日期date的Unix时间戳
from_unixtime() 返回Unix时间戳的日期
week(date) 返回日期是一年中的第几周
year(date) 返回日期date的年份
hour(date) 返回date的小时值
minute(data) date的分钟值
monthname(date) 返回date的月份名
date_format(date, fmt) 返回根据fmt规则格式化后的日期
date_add(date, interval expr type) 返回一个日期的时间值加上一个时间间隔后的时间
datediff(expr, expr2) 返回起始时间和结束时间的天数

有关date_format格式化看该图

select date_format(now(), '%M, %D, %Y')

有关date_add

interval是一个分割关键字,有关后边expr表达式的类型如下:

4.流程函数

函数 功能
if(value, t, f) 如果value是真,那么返回t,否则就是f
ifnull(value1, value2) 如果value1不为空, 返回value1,否则返回value2
case when [value1] then [result1]… else [default] end 如果value1是真, 返回result1, 否则就是default
case [expr] when [value1] then [result] …else [default] end 如果expr等于value1, 返回result1, 否则返回default

if

ifnull

常用这个函数来替代null

select ifnull(name, 'default') from xxx


case when [value1] then [result1]… else [default] end

case [expr] when [value1] then [result] …else [default] end

5.其他常用函数

函数 功能
database() 返回当前数据库名
version() 返回当前数据库版本
user() 返回当前登录用户名
inet_aton(ip) 返回ip地址的数字表示
inet_ntoa(num) 返回数字代表的IP地址
password(str) 返回字符串str的加密版本
MD5() 返回字符串str的MD5值
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
存储 SQL 关系型数据库
MySQL 存储函数及调用
本文主要介绍了MySQL存储函数及调用的方法,介绍了存储函数的示例,如何在MySQL中创建存储函数,以及介绍了MySQL中如何创建触发器,一目了然。在MySQL中,存储函数是预定义的SQL逻辑单元,可接收参数并返回单个值。创建存储函数使用`CREATE FUNCTION`语句,如示例中的`square_number`函数,它接收一个整数并返回其平方。调用存储函数就像调用普通函数一样,例如在`SELECT`语句中。存储函数可用于简化复杂逻辑,提高效率。此外,还可以通过`DROP FUNCTION`删除不再需要的函数。示例展示了不同场景下的存储函数应用,包括数字运算、字符串处理和逻辑判断。
86 2
|
23天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
23天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
1天前
|
JSON 关系型数据库 MySQL
✅MySQL用了函数到底会不会导致索引失效
MySQL 8.0 引入了函数索引,打破了传统观念,允许在索引中使用函数,提升查询性能。通过创建基于表达式的索引,如 `CONCAT`、`SUBSTRING_INDEX`、`YEAR`、`MONTH` 等,可以优化涉及这些函数的查询。虽然提高了某些查询速度,但也会增加数据维护成本。应谨慎使用,确保表达式确定且适用于常见查询模式。示例包括基于字符串、日期、数学运算和JSON属性的索引。
✅MySQL用了函数到底会不会导致索引失效
|
15天前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作
|
16天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
16天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
20 1
|
17天前
|
关系型数据库 MySQL 数据挖掘
|
21天前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
154 4
|
21天前
|
存储 安全 关系型数据库
MYSQL--存储函数
MYSQL--存储函数