mysql函数

MySQL函数概述

MySQL提供了大量的内置函数,这些函数可以分为以下几类:

  1. 字符串函数:用于操作字符串,如连接、查找、替换等。

  2. 数值函数:用于进行数学运算,如取整、求绝对值、随机数等。

  3. 日期和时间函数:用于处理日期和时间,如获取当前日期、时间差、格式化日期等。

  4. 聚合函数:用于对一组值进行计算并返回单个值,如求和、平均值、最大值等。

  5. 条件函数:用于根据条件返回不同的值,如IF、CASE等。

  6. 加密函数:用于加密和解密数据,如MD5、SHA等。

  7. 系统信息函数:用于获取系统信息,如用户信息、版本信息等。

  8. JSON函数:用于处理JSON数据,如提取、修改JSON对象等。

  9. 全文搜索函数:用于全文搜索,如MATCH AGAINST等。

代码示例

1. 字符串函数
-- 连接字符串
SELECT CONCAT('Hello', ' ', 'World'); -- 输出: Hello World
-- 查找子字符串的位置
SELECT INSTR('Hello World', 'World'); -- 输出: 6
-- 替换子字符串
SELECT REPLACE('Hello World', 'World', 'MySQL'); -- 输出: Hello MySQL
-- 截取子字符串
SELECT SUBSTRING('Hello World', 7, 5); -- 输出: World
-- 转换为大写
SELECT UPPER('hello world'); -- 输出: HELLO WORLD
-- 转换为小写
SELECT LOWER('HELLO WORLD'); -- 输出: hello world
2. 数值函数
-- 取整
SELECT FLOOR(10.6); -- 输出: 10
SELECT CEIL(10.6); -- 输出: 11
-- 绝对值
SELECT ABS(-10); -- 输出: 10
-- 随机数
SELECT RAND(); -- 输出: 0-1之间的随机数
-- 幂运算
SELECT POW(2, 3); -- 输出: 8
-- 平方根
SELECT SQRT(16); -- 输出: 4
3. 日期和时间函数
-- 获取当前日期
SELECT CURDATE(); -- 输出: YYYY-MM-DD
-- 获取当前时间
SELECT CURTIME(); -- 输出: HH:MM:SS
-- 获取当前日期和时间
SELECT NOW(); -- 输出: YYYY-MM-DD HH:MM:SS
-- 时间差
SELECT TIMESTAMPDIFF(YEAR, '1990-01-01', NOW()); -- 输出: 当前年份减去1990的年数
-- 格式化日期
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 输出: 当前日期和时间,格式为 YYYY-MM-DD HH:MM:SS
4. 聚合函数
-- 求和
SELECT SUM(score) FROM students;
-- 平均值
SELECT AVG(score) FROM students;
-- 最大值
SELECT MAX(score) FROM students;
-- 最小值
SELECT MIN(score) FROM students;
-- 计数
SELECT COUNT(*) FROM students;
5. 条件函数
-- IF函数
SELECT IF(score >= 60, '及格', '不及格') FROM students;
-- CASE函数
SELECT 
    CASE
        WHEN score >= 90 THEN '优秀'
        WHEN score >= 70 THEN '良好'
        WHEN score >= 60 THEN '及格'
        ELSE '不及格'
    END
FROM students;
6. 加密函数
-- MD5加密
SELECT MD5('password'); -- 输出: 5f4dcc3b5aa765d61d8327deb882cf99
-- SHA加密
SELECT SHA('password'); -- 输出: 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
7. 系统信息函数
-- 获取当前用户
SELECT USER(); -- 输出: 当前连接的用户名
-- 获取MySQL版本
SELECT VERSION(); -- 输出: MySQL的版本号
8. JSON函数
-- 创建JSON对象
SELECT JSON_OBJECT('name', 'John', 'age', 30); -- 输出: {"name": "John", "age": 30}
-- 创建JSON数组
SELECT JSON_ARRAY(1, 2, 3); -- 输出: [1, 2, 3]
-- 提取JSON值
SELECT JSON_EXTRACT('{"name": "John", "age": 30}', '$.name'); -- 输出: "John"
-- 修改JSON对象
SELECT JSON_SET('{"name": "John", "age": 30}', '$.age', 31); -- 输出: {"name": "John", "age": 31}
9. 全文搜索函数
-- 创建全文索引
ALTER TABLE articles ADD FULLTEXT INDEX idx_fulltext (content);
-- 全文搜索
SELECT * FROM articles WHERE MATCH(content) AGAINST('search term');

结论

MySQL函数是MySQL数据库中非常强大和有用的工具,它们可以帮助我们进行各种数据操作和计算。了解和掌握这些函数对于编写高效的SQL查询和优化数据库性能非常重要。希望这些示例能帮助您更好地理解MySQL函数的使用。如果您需要更详细的信息,请查阅MySQL官方文档或相关的专业书籍。

### MYSQL 函数概述 在 MySQL 数据库管理系统中,函数是一类重要的工具,可以用来执行各种计算、转换和其他操作。这些函数分为内置函数和自定义函数两大类。以下是常见的 MySQL 内置函数分类及其具体用法。 --- #### **1. 字符串函数** 字符串函数主要用于处理字符型数据,支持拼接、截取、替换等功能。 - **`CONCAT(str1, str2, ...)`**: 将多个字符串连接成一个字符串。 ```sql SELECT CONCAT('Hello', ' ', 'World'); -- 返回 "Hello World" ``` - **`SUBSTRING(str, pos, len)`**: 提取子字符串,从 `pos` 开始提取长度为 `len` 的部分。 ```sql SELECT SUBSTRING('MySQL Function', 7, 8); -- 返回 "Function" ``` - **`REPLACE(str, from_str, to_str)`**: 替换字符串中的部分内容。 ```sql SELECT REPLACE('Database Management System', 'Management', 'Admin'); -- 返回 "Database Admin System" ``` - **`UPPER(str)` 和 `LOWER(str)`**: 转换字符串大小写。 ```sql SELECT UPPER('mysql'), LOWER('MYSQL'); -- 返回 "MYSQL", "mysql" ``` 以上内容来源于常见字符串函数介绍[^2]。 --- #### **2. 日期时间函数** 日期时间函数用于处理与时间和日期相关的数据。 - **`NOW()`**: 获取当前的日期和时间。 ```sql SELECT NOW(); -- 返回类似于 "2023-10-05 14:30:00" ``` - **`DATE(date_time_expr)`**: 提取日期部分。 ```sql SELECT DATE('2023-10-05 14:30:00'); -- 返回 "2023-10-05" ``` - **`DATE_FORMAT(date, format)`**: 根据指定格式化模板返回日期/时间字符串。 ```sql SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 自定义格式输出 ``` 相关内容可参见日期函数说明[^2]。 --- #### **3. 数学函数** 数学函数提供了基本的数值运算能力。 - **`ABS(num)`**: 计算绝对值。 ```sql SELECT ABS(-10); -- 返回 10 ``` - **`ROUND(num, decimals)`**: 对数字四舍五入到指定位数的小数。 ```sql SELECT ROUND(123.456, 2); -- 返回 123.46
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值