MySQL 常用函数汇总:从字符串处理到加密解密实战

江岸
江岸
发布时间:2026-10-16| 8人浏览过
原创

在 MySQL 开发中,熟练掌握内置函数是编写高效 SQL 的关键。本文详解数学、字符串、日期、流程控制及加密等类别函数的语法与应用场景,附带完整示例代码,助力数据查询与加工。

基本函数与数值运算

MySQL 提供了丰富的数值处理功能,除了基础的加减乘除,还包含取整、绝对值、随机数生成等操作。了解这些基本函数有助于进行数据的初步标准化处理。

三角函数与进制转换

角度与弧度的换算

在进行几何或物理相关的数据计算时,往往需要在角度制和弧度制之间切换。MySQL 支持 RADIANS() 和 DEGREES() 函数进行自动换算,同时也提供了标准的三角函数如 SIN(), COS(), TAN() 以及反三角函数。

进制转换函数

CONV(N, from_base, to_base) 是 MySQL 中非常实用的进制转换工具,可将数字在不同进制间互相转换。例如将十进制转换为十六进制常用于日志 ID 处理或短链接生成。配合 HEX() 和 UNHEX() 使用效果更佳。

字符串处理函数

字符串操作是 SQL 中最常见的场景之一,涉及拼接、截取、替换、大小写转换及去除空格等。合理运用这些函数可以大幅减少应用层的字符串处理逻辑。

  • 长度与填充:获取字符长度 LENGTH() / CHAR_LENGTH();使用 LPAD() / RPAD() 进行左右补齐。
  • 子串提取:SUBSTRING(str, pos, len) 提取子串;LEFT() / RIGHT() 获取首尾字符。
  • 查找与替换:LOCATE() 查找子串位置;REPLACE() 全局替换指定子串。
  • 格式化:CONCAT_WS() 带分隔符拼接;TRIM() 去除首尾空白。

日期和时间函数

时间数据管理涉及获取当前时间、格式化输出、区间计算及时间戳转换。

获取日期和时间

常用函数包括 NOW() 返回当前日期和时间,CURDATE() 仅返回日期,CURTIME() 仅返回时间。此外还有 YEAR(), MONTH(), DAY() 等用于拆解时间字段。

日期与时间戳的转换

在处理跨平台数据时,常需将标准日期转换为 Unix 时间戳。使用 UNIX_TIMESTAMP() 将 datetime 转为秒级时间戳,反向转换可使用 FROM_UNIXTIME()。

获取月份、星期、天数

WEEKDAY() 返回周索引(0-6),DAYOFWEEK() 返回星期几的数字表示。结合 QUARTER() 可快速按季度分组统计。

指数和对数函数

用于科学计算或对数尺度的数据分析,主要函数有 EXP() 计算 e 的幂,LOG(x) 自然对数,LN(x) 同左,POW(x,y) 计算 x 的 y 次方等。

流程控制函数

SQL 中的条件判断通常使用 IF(), IFNULL(), ISNULL() 和 CASE 表达式。

  • IF(cond, true_val, false_val):简单二分支选择。
  • COALESCE(val1, val2...):返回第一个非空值,比 IFNULL 更灵活。
  • CASE WHEN ... THEN ... END:多条件复杂分支逻辑。

加密与解密函数

虽然不推荐直接存储明文密码,但在某些数据脱敏或哈希比对场景中会使用以下不可逆加密函数:MD5() 和 SHA()(支持 SHA1, SHA256)。如需对称加密可使用 AES_ENCRYPT / AES_DECRYPT。

-- 不可逆加密示例
SELECT
	MD5( 'MYSQL' ),
	SHA( 'MYSQL' ) 
FROM
	DUAL;

MYSQL 信息函数

调试 SQL 语句时,VERSION() 查看数据库版本,DATABASE() 查看当前库名,USER() 查看当前连接用户,LAST_INSERT_ID() 获取最近插入的主键 ID 等辅助信息函数也常被用到。

总结

以上就是 MySQL 常用函数的详细内容,更多关于 MySQL 高级查询技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。