MySQL函数大合集(上)

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

MySQL函数大合集

一,数值函数

(1) 绝对值函数

mysql> select abs(-1);
+---------+
| abs(-1) |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

(2) 求余函数

mysql> select mod(10,3);
+-----------+
| mod(10,3) |
+-----------+
|         1 |
+-----------+
1 row in set (0.00 sec)

(3) 获取整数的函数

mysql> select ceil(123.123);  #向上取整
+---------------+
| ceil(123.123) |
+---------------+
|           124 |
+---------------+
1 row in set (0.00 sec)
mysql> select floor(123.123); #向下取整
+----------------+
| floor(123.123) |
+----------------+
|            123 |
+----------------+
1 row in set (0.00 sec)

(4) 获取随机数的函数

mysql> select rand(); #0~1随机数
+-------------------+
| rand()            |
+-------------------+
| 0.509076374125738 |
+-------------------+
1 row in set (0.00 sec)

(5) 四舍五入的函数

mysql> select round(rand());
+---------------+
| round(rand()) |
+---------------+
|             0 |
+---------------+
1 row in set (0.00 sec)

(6) 截取数值的函数

mysql> select truncate(123.123,2);  #第二个数值,代表截取长度
+---------------------+
| truncate(123.123,2) |
+---------------------+
|              123.12 |
+---------------------+
1 row in set (0.00 sec)

(7) 符号函数

mysql> select sign(-1); #如果是负数对应的-1 整数对应的是1 0对应的是0
+----------+
| sign(-1) |
+----------+
|       -1 |
+----------+
1 row in set (0.00 sec)

(8) 幂运算函数

mysql> select pow(3,3);
+----------+
| pow(3,3) |
+----------+
|       27 |
+----------+
1 row in set (0.00 sec)

二,字符串函数

(9) 计算字符串长度的函数

mysql> select length('123');  #查看字节数
+---------------+
| length('123') |
+---------------+
|             3 |
+---------------+
1 row in set (0.00 sec)
mysql> select char_length('123'); #查看字符串的长度
+--------------------+
| char_length('123') |
+--------------------+
|                  3 |
+--------------------+
1 row in set (0.00 sec)

(10) 合并字符串的函数

mysql> select concat('hello','world');
+-------------------------+
| concat('hello','world') |
+-------------------------+
| helloworld              |
+-------------------------+
1 row in set (0.00 sec)
mysql> select concat_ws('-','hello','world'); #可以指定分割符
+--------------------------------+
| concat_ws('-','hello','world') |
+--------------------------------+
| hello-world                    |
+--------------------------------+
1 row in set (0.00 sec)

(11) 替换字符串的函数

mysql> select insert('hello',1,1,'H');  #第二个字段指定开始位置,第三个字段解锁位置 第四个字段,替换的值
+-------------------------+
| insert('hello',1,1,'H') |
+-------------------------+
| Hello                   |
+-------------------------+
1 row in set (0.00 sec)

(12) 转换大小写的函数:

mysql> select lower('Hello'); #转为小写
+----------------+
| lower('Hello') |
+----------------+
| hello          |
+----------------+
1 row in set (0.00 sec)
mysql> select upper('Hello'); #转为大写
+----------------+
| upper('Hello') |
+----------------+
| HELLO          |
+----------------+
1 row in set (0.00 sec)

(13) 获取指定长度的字符串的函数:

mysql> select left('hello',3);  #输出从左的长度
+-----------------+
| left('hello',3) |
+-----------------+
| hel             |
+-----------------+
1 row in set (0.00 sec)
mysql> select right('hello',3); #输出从右的长度
+------------------+
| right('hello',3) |
+------------------+
| llo              |
+------------------+
1 row in set (0.00 sec)

(14) 填充字符串的函数:

mysql> select lpad('hello',10,'@'); #如果不满足指定长度填充
+----------------------+
| lpad('hello',10,'@') |
+----------------------+
| @@@@@hello           |
+----------------------+
1 row in set (0.00 sec)
mysql> select rpad('hello',10,'@');
+----------------------+
| rpad('hello',10,'@') |
+----------------------+
| hello@@@@@           |
+----------------------+
1 row in set (0.00 sec)

(15) 删除空格的函数:

mysql> select ltrim('    hello     ');  #从左删除空格
+-------------------------+
| ltrim('    hello     ') |
+-------------------------+
| hello                   |
+-------------------------+
1 row in set (0.00 sec)
mysql> select rtrim('    hello     '); #从右删除空格
+-------------------------+
| rtrim('    hello     ') |
+-------------------------+
|     hello               |
+-------------------------+
1 row in set (0.00 sec)
mysql> select trim('    hello     '); #从两侧删除空格
+------------------------+
| trim('    hello     ') |
+------------------------+
| hello                  |
+------------------------+
1 row in set (0.00 sec)

(16) 删除指定字符串的函数:

mysql> select trim('h' from 'hello'); #指定字段进行删除
+------------------------+
| trim('h' from 'hello') |
+------------------------+
| ello                   |
+------------------------+
1 row in set (0.00 sec)

(17) 重复生成字符串的函数:

mysql> select repeat('233',2);  #将
+-----------------+
| repeat('233',2) |
+-----------------+
| 233233          |
+-----------------+
1 row in set (0.00 sec)

(18) 空格函数:

mysql> select space(5);
+-------+
| l     |
+-------+
|       |
+-------+
1 row in set (0.00 sec)

(19) 替换函数:

mysql> select replace('hello','h','H');
+--------------------------+
| replace('hello','h','H') |
+--------------------------+
| Hello                    |
+--------------------------+
1 row in set (0.00 sec)

(20) 比较字符串大小的函数:

mysql> select strcmp('a','C');
+-----------------+
| strcmp('a','C') |
+-----------------+
|              -1 |
+-----------------+
1 row in set (0.00 sec)

(21) 获取子字符串的函数:

mysql> select mid('hello',1,3);
+------------------+
| mid('hello',1,3) |
+------------------+
| hel              |
+------------------+
1 row in set (0.00 sec)

(22) 匹配子字符串开始位置的函数:

mysql> select locate('e','hello');
+---------------------+
| locate('e','hello') |
+---------------------+
|                   2 |
+---------------------+
1 row in set (0.00 sec)

(23) 反转字符串的函数:

mysql> select reverse('12345');
+------------------+
| reverse('12345') |
+------------------+
| 54321            |
+------------------+
1 row in set (0.00 sec)
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
存储 SQL 关系型数据库
MySQL 存储函数及调用
本文主要介绍了MySQL存储函数及调用的方法,介绍了存储函数的示例,如何在MySQL中创建存储函数,以及介绍了MySQL中如何创建触发器,一目了然。在MySQL中,存储函数是预定义的SQL逻辑单元,可接收参数并返回单个值。创建存储函数使用`CREATE FUNCTION`语句,如示例中的`square_number`函数,它接收一个整数并返回其平方。调用存储函数就像调用普通函数一样,例如在`SELECT`语句中。存储函数可用于简化复杂逻辑,提高效率。此外,还可以通过`DROP FUNCTION`删除不再需要的函数。示例展示了不同场景下的存储函数应用,包括数字运算、字符串处理和逻辑判断。
83 2
|
18天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
18天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
10天前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作
|
11天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
11天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
15 1
|
12天前
|
关系型数据库 MySQL 数据挖掘
|
16天前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
151 4
|
16天前
|
存储 安全 关系型数据库
MYSQL--存储函数
MYSQL--存储函数
|
18天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(3)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】