MySQL函数

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

在MySQL中,函数是一种可重用的代码块,可以接受参数并返回一个值。MySQL提供了许多内置函数,涵盖了各种功能,包括字符串操作、数学运算、日期和时间处理等。此外,MySQL还支持用户自定义函数,允许开发者根据自己的需求编写函数。

 

内置函数

 

1. **字符串函数**:包括`CONCAT`用于连接字符串、`SUBSTRING`用于提取子字符串、`LENGTH`用于返回字符串长度等。

```sql
SELECT CONCAT('Hello', ' ', 'World'); -- 输出 'Hello World'
SELECT SUBSTRING('Hello World', 1, 5); -- 输出 'Hello'
SELECT LENGTH('Hello'); -- 输出 5
```

2. **数学函数**:包括`ABS`用于返回绝对值、`ROUND`用于四舍五入、`RAND`用于生成随机数等。

```sql
SELECT ABS(-10); -- 输出 10
SELECT ROUND(3.14159, 2); -- 输出 3.14
SELECT RAND(); -- 返回一个0到1之间的随机数
```

3. **日期和时间函数**:包括`NOW`用于返回当前日期和时间、`DATE_FORMAT`用于格式化日期时间、`DATEDIFF`用于计算日期之间的天数等。

```sql
SELECT NOW(); -- 返回当前日期和时间
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 格式化日期为'YYYY-MM-DD'
SELECT DATEDIFF('2022-01-01', '2021-12-25'); -- 返回日期之间的天数
```

4. **逻辑函数**:包括`IF`用于条件判断、`CASE`用于多条件判断等。

```sql
SELECT IF(1 < 0, 'true', 'false'); -- 输出 'false'
SELECT CASE WHEN 1 < 0 THEN 'true' ELSE 'false' END; -- 输出 'false'
```

用户自定义函数

 

除了内置函数,MySQL还支持用户自定义函数(UDF)。UDF允许开发者使用C或C++等语言编写自定义函数,并将其加载到MySQL中使用。

```sql
CREATE FUNCTION hello (s CHAR(20))
RETURNS CHAR(50) DETERMINISTIC
RETURN CONCAT('Hello, ', s, '!');
```

上述示例创建了一个名为`hello`的自定义函数,接受一个字符串参数并返回一个问候语。

 

通过使用内置函数和自定义函数,开发者可以在MySQL中实现各种功能,从简单的字符串处理到复杂的数据分析和逻辑运算。

 

5. **字符串函数示例**:使用`CONCAT_WS`函数将多个字符串连接在一起,并使用指定的分隔符:

```sql
SELECT CONCAT_WS(',', 'apple', 'banana', 'orange'); -- 输出 'apple,banana,orange'
```

6. **数学函数示例**:使用`POWER`函数计算一个数的指数幂:

```sql
SELECT POWER(2, 3); -- 输出 8 (2的3次方)
```

7. **日期和时间函数示例**:使用`DATE_ADD`函数在当前日期上添加一段时间间隔:

```sql
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); -- 输出明天的日期
```

8. **逻辑函数示例**:使用`IFNULL`函数返回第一个非NULL表达式的值,如果都为NULL,则返回指定的值:

```sql
SELECT IFNULL(NULL, 'default_value'); -- 输出 'default_value'
```

9. **用户自定义函数示例**:创建一个简单的自定义函数,接受两个整数参数并返回它们的和:

```sql
CREATE FUNCTION add_numbers(a INT, b INT)
RETURNS INT
BEGIN
    RETURN a + b;
END;
```

通过这些例子,可以进一步了解MySQL中函数的使用方法和功能,希望对你有所帮助。

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