MySql 特殊函数

MySQL特殊函数介绍

1.日期函数 

查看现在时刻日期

查看现在时刻时间

查看现在时刻时间戳

把‘2021-2-3 12:23:34’这个时刻截断成日期

查看‘2021-2-3 12:23:34’时刻两天后的时间

查看‘2021-2-3 12:23:34’时刻两天前的时间

查看‘2025-8-21’和‘2025-9-4’中间隔了多少天

查看当前时刻日期时间

2.字符串函数

获取example表的name列的字符集

要求显示example1表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX

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

将example1表中所有名字中有s的替换成y
截取EMP表中example字段的第二个到第三个字符

将AsdF字符串转换成小写和大写

3.数学函数

查看-123的绝对值

对12.34和-12.34向上取整

对12.34和-12.34向下取整

对3.1415926保留三位小数(小数位四舍五入)

生成一个0到1的的随机浮点数

把十进制8转换成二进制

把十进制19转换成十六进制

把二进制的10000转换成16进制

5对2取余

4.其他函数

1.user()查看当前用户

2.database()显示当前正在使用的数据库
3.ifnullval1 val2) 如果val1null,返回val2,否则返回val1的值

4.md5() 加密

我们发现我们插入的代码是可以显示出来的

但是在一些环境下我们希望我们的密码是不能直接显示出来的

于是我们就可以用md5去加密

当我们查找的时候也不能直接查找

也要使用md5函数

### MySQL特殊函数的用法与示例 MySQL 提供了多种特殊函数,用于执行复杂的查询和数据操作。这些函数可以分为开窗函数、存储函数、字符串处理函数以及其他内置函数等类别。以下是关于这些特殊函数的详细说明及示例代码。 #### 1. 开窗函数 开窗函数(Window Functions)是一种强大的工具,允许在查询结果集的每一行上执行计算,而不仅仅是整个结果集。这种功能特别适合进行排序、排名或聚合分析[^1]。 ```sql -- 示例:使用ROW_NUMBER()进行排名 SELECT id, name, score, ROW_NUMBER() OVER (ORDER BY score DESC) AS rank FROM students; ``` #### 2. 存储函数 存储函数(Stored Function)是在数据库中定义的特殊类型函数,可以从一个或多个参数返回一个值。它们封装了复杂的SQL逻辑,使应用程序调用更加简单和高效[^2]。 ```sql -- 创建存储函数 DELIMITER $$ CREATE FUNCTION calculate_age(birth_date DATE) RETURNS INT DETERMINISTIC BEGIN DECLARE age INT; SET age = TIMESTAMPDIFF(YEAR, birth_date, CURDATE()); RETURN age; END$$ DELIMITER ; -- 调用存储函数 SELECT id, name, calculate_age(birth_date) AS age FROM employees; ``` #### 3. 字符串处理函数 MySQL 提供了丰富的字符串处理函数,如 `LOCATE` 和 `INSTR`,用于查找子字符串的位置[^5]。 ```sql -- 使用LOCATE函数查找子字符串位置 SELECT * FROM department_grade ORDER BY LOCATE(name, '应用一部,应用二部,销售一部,销售二部,研究院,海外业务部'), year DESC, LOCATE(label, '四,三,二,一'); -- 使用INSTR函数实现相同功能 SELECT * FROM department_grade ORDER BY INSTR('应用一部,应用二部,销售一部,销售二部,研究院,海外业务部', name), year DESC, INSTR('四,三,二,一', label); ``` #### 4. 数据导出函数 通过 `INTO OUTFILE`,可以将查询结果导出为 CSV 文件。这在需要批量处理数据时非常有用。 ```sql -- 导出数据到CSV文件 SELECT * FROM stu_score WHERE subject = '语文' INTO OUTFILE 'D:\\Java\\GongJu\\MySql\\data\\Uploads\\test.csv' CHARACTER SET gbk FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; ``` #### 5. 条件查询函数 `WHERE` 子句支持使用逻辑操作符 `AND` 和 `OR` 进行复杂条件查询[^3]。 ```sql -- 使用AND操作符 SELECT id, phone FROM table1 WHERE name = "TN6" AND id <= 5; -- 使用OR操作符 SELECT id, phone FROM table1 WHERE name = "TN6" OR id <= 5; ``` ### 总结 上述示例展示了 MySQL 中一些特殊函数的用法,包括开窗函数、存储函数、字符串处理函数以及数据导出函数。这些函数能够显著提升查询效率和数据处理能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值