本文共 2084 字,大约阅读时间需要 6 分钟。
在数据库开发中,MySQL 提供了丰富的函数来满足不同需求。以下将从数学函数和字符串函数两个方面,详细介绍几种常用的函数及其使用示例。
MySQL 中的数学函数主要用于数据处理、计算和转换等场景。以下是一些常用的数学函数:
ABS(x): 返回 x 的绝对值。
SELECT ABS(-1), ABS(2);
返回结果:1, 2
PI(): 返回圆周率。
SELECT PI();
返回结果:3.141592653589793
SQRT(x): 返回非负数 x 的二次方根。
SELECT SQRT(4);
返回结果:2
MOD(x, y): 返回 x 被 y 除之后的余数。
SELECT MOD(10, 3);
返回结果:1
CEIL(X): 返回不小于 x 的最小整数值,返回值转化为一个 BIGINT。
SELECT CEIL(3.5), CEILING(2.22);
返回结果:4, 3
FLOOR(X): 返回不大于 x 的最大整数值,返回值转化为一个 BIGINT。
SELECT FLOOR(3.5);
返回结果:3
RAND(): 返回一个随机浮点数 v,范围是 0 ≤ v ≤ 1。
SELECT RAND();
返回结果:0.785398...
(随机值)
RAND(X): 返回一个随机浮点值 v,范围是 0 ≤ v ≤ 1。参数 x 为整数,被用作种子值。
SELECT RAND(1);
返回结果:0.785398...
(随机值)
ROUND(X): 返回最接近于参数 x 的整数,对 x 值进行四舍五入。
SELECT ROUND(3.4);
返回结果:3
ROUND(X, Y): 返回最接近于参数 x 的值,保留到小数点后 y 位。
SELECT ROUND(3.564, 2);
返回结果:3.56
TRUNCATE(X, Y): 返回截去小数点后 y 位的数值 x。
SELECT TRUNCATE(3.2565, 3);
返回结果:3.256
SIGN(X): 返回参数 x 的符号。
SELECT SIGN(10), SIGN(-10);
返回结果:1, -1
POW(X, Y): 返回 x 的 y 次方。
SELECT POW(2, 3), POWER(3, 2);
返回结果:8, 9
EXP(X): 返回 e 的 x 次方。
SELECT EXP(2);
返回结果:7.389056...
LOG(X): 返回 x 的自然对数(以 e 为底)。
SELECT LOG(8);
返回结果:2.079441...
LOG10(X): 返回 x 的以 10 为底的对数。
SELECT LOG10(10);
返回结果:1
RADIANS(X): 将角度转换为弧度。
SELECT RADIANS(90);
返回结果:1.570796...
DEGREES(X): 将弧度转换为角度。
SELECT DEGREES(180);
返回结果:180
MySQL 中的字符串函数主要用于字符串操作和处理。以下是一些常用的字符串函数:
CHAR_LENGTH(str): 返回字符串 str 中包含的字符个数。
SELECT CHAR_LENGTH('BADAO');
返回结果:5
LENGTH(str): 返回字符串的字节长度。
SELECT LENGTH('BADAO');
返回结果:5
CONCAT(str1, str2, ...): 合并字符串函数,参数可以是一个或多个。
SELECT CONCAT('BADAO', 'DE', 'CHENGXVYUAN');
返回结果:BADAO DE CHENGXVYUAN
CONCAT_WS(separator, str1, str2, ...): 将字符串按指定分隔符合并。
SELECT CONCAT_WS('-', 'BADAO', 'DE');
返回结果:BADAO-DE
INSERT(str, pos, len, newstr): 替换字符串函数,返回字符串 str 在位置 pos 起始的 len 个字符长的子串由字符串 newstr 代替。
SELECT INSERT('BADAODECHENGXVYUAN', 3, 3, 'BA');
返回结果:BA BADAODECHENGXVYUAN
LOWER(str): 将字符串中的字母转换为小写。
SELECT LOWER('BADAO'), LCASE('DE');
返回结果:badao, de
UPPER(str): 将字符串中的字母转换为大写。
SELECT UPPER('badao'), UCASE('de');
返回结果:BADAO, DE
LEFT(str, len): 截取左侧字符串函数,返回 str 的最左边 len 个字符。
SELECT LEFT('BADAODECHENGXVYUAN', 5);
返回结果:BADAO
转载地址:http://epbfk.baihongyu.com/