【MySQL】内置函数

目录

🌈前言🌈

[📁 日期函数](#📁 日期函数)

[📁 字符串函数](#📁 字符串函数)

[📁 数学函数](#📁 数学函数)

[📁 其他函数](#📁 其他函数)

[📁 总结](#📁 总结)


🌈前言🌈

欢迎收看本期【MySQL】,本期内容将介绍MySQL中的内置函数,其中包含了日期函数,字符串函数,数学函数以及其他的一些函数,从功能到使用等方面介绍这些函数。

📁 日期函数

● 获得年月日

sql 复制代码
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2024-09-25     |
+----------------+

● 获得时分秒

sql 复制代码
mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 20:47:18       |
+----------------+

● 获得时间戳

sql 复制代码
mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2024-09-25 20:48:04 |
+---------------------+

● 获得日期的基础上加日期

sql 复制代码
mysql> select date_add('2024-10-1',interval 10 day);
+---------------------------------------+
| date_add('2024-10-1',interval 10 day) |
+---------------------------------------+
| 2024-10-11                            |
+---------------------------------------+

//interval 后面的单位可以是 year,month,day,hour,minute,second

● 在日期的基础上减去时间:

sql 复制代码
mysql> select date_sub('2024-10-1' , interval 1 hour);
+-----------------------------------------+
| date_sub('2024-10-1' , interval 1 hour) |
+-----------------------------------------+
| 2024-09-30 23:00:00                     |
+-----------------------------------------+

● 计算两个日期之差:

sql 复制代码
mysql> select datediff('2024-10-1','1949-10-1');
+-----------------------------------+
| datediff('2024-10-1','1949-10-1') |
+-----------------------------------+
|                             27394 |
+-----------------------------------+

📁 字符串函数

● 获得表中某列的字符集

sql 复制代码
mysql> select charset(ename) from emp;
+----------------+
| charset(ename) |
+----------------+
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
| utf8mb3        |
+----------------+

● 拼接字符串

sql 复制代码
mysql> select * from student;
+----+-----------+------+
| id | name      | age  |
+----+-----------+------+
|  9 | 刘备      |   18 |
| 10 | 关羽      |   18 |
| 11 | 张飞      |   18 |
| 12 | 曹操      |   19 |
| 13 | 孙策      |   20 |
| 14 | 孙权      |   20 |
| 15 | 孙尚香    |   20 |
+----+-----------+------+
7 rows in set (0.00 sec)

mysql> select concat(name ,'的年龄是' ,age) as 年龄 from student;
+-------------------------+
| 年龄                    |
+-------------------------+
| 刘备的年龄是18          |
| 关羽的年龄是18          |
| 张飞的年龄是18          |
| 曹操的年龄是19          |
| 孙策的年龄是20          |
| 孙权的年龄是20          |
| 孙尚香的年龄是20        |
+-------------------------+

● 求某列所用的字节数

sql 复制代码
mysql> select * from student;
+----+-----------+------+
| id | name      | age  |
+----+-----------+------+
|  9 | 刘备      |   18 |
| 10 | 关羽      |   18 |
| 11 | 张飞      |   18 |
| 12 | 曹操      |   19 |
| 13 | 孙策      |   20 |
| 14 | 孙权      |   20 |
| 15 | 孙尚香    |   20 |
+----+-----------+------+
7 rows in set (0.00 sec)

mysql> select length(name) from student;
+--------------+
| length(name) |
+--------------+
|            6 |
|            6 |
|            6 |
|            6 |
|            6 |
|            6 |
|            9 |
+--------------+

● 替换字符串

sql 复制代码
mysql> select * from student;
+----+-----------+------+
| id | name      | age  |
+----+-----------+------+
|  9 | 刘备      |   18 |
| 10 | 关羽      |   18 |
| 11 | 张飞      |   18 |
| 12 | 曹操      |   19 |
| 13 | 孙策      |   20 |
| 14 | 孙权      |   20 |
| 15 | 孙尚香    |   20 |
+----+-----------+------+

mysql> select replace(name,'孙','S') from student;
+-------------------------+
| replace(name,'孙','S')  |
+-------------------------+
| 刘备                    |
| 关羽                    |
| 张飞                    |
| 曹操                    |
| S策                     |
| S权                     |
| S尚香                   |
+-------------------------+

● 截取字符串的子串

sql 复制代码
mysql> select * from student;
+----+-----------+------+
| id | name      | age  |
+----+-----------+------+
|  9 | 刘备      |   18 |
| 10 | 关羽      |   18 |
| 11 | 张飞      |   18 |
| 12 | 曹操      |   19 |
| 13 | 孙策      |   20 |
| 14 | 孙权      |   20 |
| 15 | 孙尚香    |   20 |
+----+-----------+------+
7 rows in set (0.00 sec)

mysql> select substr(name,1,1) from student;
+------------------+
| substr(name,1,1) |
+------------------+
| 刘               |
| 关               |
| 张               |
| 曹               |
| 孙               |
| 孙               |
| 孙               |
+------------------+

● 大小写转换

sql 复制代码
mysql> select * from student;
+----+-----------+------+
| id | name      | age  |
+----+-----------+------+
|  1 | smith     |   20 |
|  9 | 刘备      |   18 |
| 10 | 关羽      |   18 |
| 11 | 张飞      |   18 |
| 12 | 曹操      |   19 |
| 13 | 孙策      |   20 |
| 14 | 孙权      |   20 |
| 15 | 孙尚香    |   20 |
+----+-----------+------+
8 rows in set (0.00 sec)

mysql> select ucase(name) from student;
+-------------+
| ucase(name) |
+-------------+
| SMITH       |
| 刘备        |
| 关羽        |
| 张飞        |
| 曹操        |
| 孙策        |
| 孙权        |
| 孙尚香      |
+-------------+

📁 数学函数

● 绝对值

sql 复制代码
mysql> select abs(-100.1);
+-------------+
| abs(-100.1) |
+-------------+
|       100.1 |
+-------------+

● 向上取整

sql 复制代码
mysql> select ceiling(4.5);
+--------------+
| ceiling(4.5) |
+--------------+
|            5 |
+--------------+

● 向下取整

sql 复制代码
mysql> select floor(4.5);
+------------+
| floor(4.5) |
+------------+
|          4 |
+------------+

● 进制转换

sql 复制代码
mysql> select conv(10,10,16);
+----------------+
| conv(10,10,16) |
+----------------+
| A              |
+----------------+

● 格式化

sql 复制代码
mysql> select format(100.12345,2);
+---------------------+
| format(100.12345,2) |
+---------------------+
| 100.12              |
+---------------------+

● 产生随机数

sql 复制代码
mysql> select rand() * 1000;
+-------------------+
| rand() * 1000     |
+-------------------+
| 654.6384791421132 |
+-------------------+

📁 其他函数

● user():查询当前用户

sql 复制代码
mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+

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

sql 复制代码
mysql> select md5('ABCD123');
+----------------------------------+
| md5('ABCD123')                   |
+----------------------------------+
| c1a14d6139aee67b520c766321bd894d |
+----------------------------------+

● database():显示当前正在使用的数据库

sql 复制代码
mysql> select database();
+------------+
| database() |
+------------+
| test_db    |
+------------+

● ifnull(val1,val2):如果val1为null,返回val2,否则返回val1

sql 复制代码
mysql> select ifnull(null,4);
+----------------+
| ifnull(null,4) |
+----------------+
|              4 |
+----------------+
1 row in set (0.00 sec)

mysql> select ifnull(5,4);
+-------------+
| ifnull(5,4) |
+-------------+
|           5 |
+-------------+
1 row in set (0.00 sec)

📁 总结

以上就是本期【MySQL】的主要内容了,讲解了内置函数,有日期函数,字符串函数,数学函数以及其他函数,介绍了基本的功能的使用方式。

如果感觉本期内容对你有帮助,欢迎点赞,关注,收藏Thanks♪(・ω・)ノ

相关推荐
爱丶狸1 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
k4m7v2pz2 小时前
把 Bevy 0.14 游戏移植到 R36S 掌机:一场与“无窗口系统“的搏斗
linux·rust·bevy·r36s·rk3326·开源掌机
木子欢儿4 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
凌虚4 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪4 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善4 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
赤壁小虾6 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
MC皮蛋侠客6 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
会编程的土豆7 小时前
Go 模板初识
linux·运维·服务器
奈斯先生Vector7 小时前
把 Midjourney 二次编辑做成生产系统:customId 能力令牌、Action Graph 与 WebUI 精修工作台
数据库·人工智能·架构·aigc·音视频·midjourney