【MySQL】内置函数

目录

一、日期函数

1、获得年月日

2、获得时分秒

3、获得时间戳

4、在日期的基础上加日期

5、在日期的基础上减去时间

6、计算两个日期之间相差多少天

7、案例

二、字符串函数

1、获取emp表的ename列的字符集

2、要求显示exam_result表中的信息

3、求学生表中学生姓名占用的字节数

4、将EMP表中所有名字中有S的替换成'上海'

5、截取EMP表中ename字段的第二个到第三个字符

6、以首字母小写的方式显示所有员工的姓名

三、数学函数

1、绝对值

2、向上取整

3、向下取整

4、保留2位小数位数(小数四舍五入)

[5、 产生随机数](#5、 产生随机数)

四、其他函数

1、user()

2、md5(str)

3、database()

4、password()

[5、ifnull(val1, val2)](#5、ifnull(val1, val2))


一、日期函数

1、获得年月日

复制代码
select current_date();

2、获得时分秒

复制代码
select current_time();

3、获得时间戳

复制代码
select current_timestamp();

4、在日期的基础上加日期

复制代码
select date_add('[指定日期]', interval [数字] [d_value_type]);

5、在日期的基础上减去时间

复制代码
select date_sub('[指定日期]', interval [数字] [d_value_type]);

6、计算两个日期之间相差多少天

复制代码
select datediff('[日期1]', '[日期2]');

7、案例

创建一个留言表

插入数据

显示所有留言信息,发布日期只显示日期,不用显示时间

请查询在2分钟内发布的帖子

二、字符串函数

1、获取emp表的ename列的字符集

复制代码
select charset(ename) from EMP;

2、要求显示exam_result表中的信息

显示格式:"XXX的语文是XXX分,数学XXX分,英语XXX分":

复制代码
select concat(name, '的语文是', chinese, '分,数学是', math, '分') '分数' from exam_result;

3、求学生表中学生姓名占用的字节数

复制代码
select length(name), name from students;

注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数。如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)。

4、将EMP表中所有名字中有S的替换成'上海'

复制代码
select replace(ename, 'S', '上海') ,ename from EMP;

5、截取EMP表中ename字段的第二个到第三个字符

复制代码
select substring(ename, 2, 2), ename from EMP;

6、以首字母小写的方式显示所有员工的姓名

复制代码
select concat(lcase(substring(ename, 1, 1)),substring(ename,2)) from EMP;

三、数学函数

1、绝对值

复制代码
select abs(-100.2);

2、向上取整

复制代码
select ceiling(23.04);

3、向下取整

复制代码
select floor(23.7);

4、保留2位小数位数(小数四舍五入)

5、 产生随机数

复制代码
select rand();

四、其他函数

1、user()

查询当前用户:

2、md5(str)

对一个字符串进行md5摘要,摘要后得到一个32位字符串:

复制代码
select md5('admin');

3、database()

显示当前正在使用的数据库:

4、password()

MySQL数据库使用该函数对用户加密:

5、ifnull(val1, val2)

如果val1为null,返回val2,否则返回val1的值。

相关推荐
Nturmoils17 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波21 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6002 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL2 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横5 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二5 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm