查看: 39|回复: 0

MySQL内置函数全解析

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-4
发表于 2025-12-22 10:11:23 | 显示全部楼层 |阅读模式

一、内置函数是什么?

内置函数可以理解为 MySQL 写好放入“工具箱”里的小工具,你不需要知道这些工具内部是怎么制造的,只需要知道给它什么,它还你什么。

二、日期函数

  • CURRENT_DATE():问数据库,“今天是几号?”,然后数据库会返回今天的日期

  • current time():获取系统当前的“时分秒”信息,不包含日期

  • current_timestamp():返回当前系统的日期和时间

  • date():提取日期的某一部分

  • DATE_ADD(DATE_SUB):给一个日期加上(或减去)指定的时间间隔


这里的INTERVAL是必须要加上去的

  • DATEDIFF:计算两个日期的间隔时间

  • NOW:计算两个日期的间隔时间

三、字符串函数

  • 基础信息与拼接:CHARSET:查看字符串的字符集,CONCAT:把多个字符串拼成一个。

  • 大小写与比较:UCASE(str) / LCASE(str):转大写 / 转小写,STRCMP(s1, s2): 比较两个字符串。相等返回 0,左边小返回 -1,左边大返回 1

  • 查找与位置:INSTR: 返回子串在主串中第一次出现的位置,LENGTH: 返回字符串的字节长度

  • 提取与截取:LEFT(str, len): 从左边起取 len 个字符,SUBSTRING(str, start, [len]): 从指定位置开始截取

  • 修改与清理:REPLACE(str, from, to): 替换内容,LTRIM(str) / RTRIM(str): 去掉左边 / 右边的空格

四、数学函数

MySQL 的数学函数就像是内置在数据库里的“科学计算器”。在处理订单金额、统计分数、生成随机数等场景中非常有用

  • 取整函数:ABS(x): 取绝对值(正数),CEIL(x) / CEILING(x): 向上取整(进一法)。返回不小于 x 的最小整数,FLOOR(x): 向下取整(去尾法)。返回不大于 x 的最大整数

  • 精确控制:ROUND(x, d): 四舍五入。d 是保留的小数位数,TRUNCATE(x, d): 截断。不论大小,直接把 d 位之后的小数全部扔掉

  • 幂运算与开方:POW(x, y) / POWER(x, y): xy次方,SQRT(x): 开平方根,MOD(n, m): 取模(求余数)

  • ==随机数生成 ==:RAND(): 返回一个 01 之间的浮点随机数

  • 进制转换与常量:CONV(n, from_base, to_base): 进制转换(比如把 10 进制转 16 进制),BIN(x): 转二进制,PI(): 获取圆周率

五、其它函数

  • user():查询当前用户

  • md5(str):对一个字符串进行md5摘要,摘要后得到一个32位字符串

  • database():显示当前使用的数据库

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部