|
一、内置函数是什么?
内置函数可以理解为 MySQL 写好放入“工具箱”里的小工具,你不需要知道这些工具内部是怎么制造的,只需要知道给它什么,它还你什么。
二、日期函数
CURRENT_DATE():问数据库,“今天是几号?”,然后数据库会返回今天的日期
current time():获取系统当前的“时分秒”信息,不包含日期
current_timestamp():返回当前系统的日期和时间
DATE_ADD(DATE_SUB):给一个日期加上(或减去)指定的时间间隔
这里的INTERVAL是必须要加上去的
三、字符串函数
- 基础信息与拼接:
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): x 的 y次方,SQRT(x): 开平方根,MOD(n, m): 取模(求余数)
- ==随机数生成 ==:
RAND(): 返回一个 0 到 1 之间的浮点随机数
- 进制转换与常量:
CONV(n, from_base, to_base): 进制转换(比如把 10 进制转 16 进制),BIN(x): 转二进制,PI(): 获取圆周率
五、其它函数
- md5(str):对一个字符串进行
md5摘要,摘要后得到一个32位字符串
|