MySQL数学与字符串函数详解

需积分: 50 3 下载量 172 浏览量 更新于2024-09-08 收藏 52KB DOC 举报
本文档主要介绍了MySQL数据库中的两类常用函数:数学函数和字符串函数,旨在帮助用户更好地理解和操作数据。 一、数学函数 在MySQL中,数学函数用于处理各种数值类型的数据,包括整数和浮点数。以下是一些常用的数学函数: 1. ABS(x):返回数字x的绝对值。例如,`ABS(-1)` 返回 `1`。 2. CEIL(x) 和 CEILING(x):这两个函数都返回大于或等于x的最小整数。如 `CEIL(1.5)` 返回 `2`。 3. FLOOR(x):返回小于或等于x的最大整数。例如,`FLOOR(1.5)` 返回 `1`。 4. RAND():生成一个介于0到1之间的随机数。调用 `RAND()` 可能会得到如 `0.93099315644334` 的结果。 5. RAND(x):带参数的随机数函数,当x值相同时,返回相同的随机数。例如,`RAND(2)` 可能返回 `1.5865798029924`。 6. PI():返回圆周率π的近似值,即 `3.141593`。 7. TRUNCATE(x, y):将数值x保留到小数点后y位,不进行四舍五入。例如,`TRUNCATE(1.23456, 3)` 返回 `1.234`。 8. ROUND(x, y):保留x小数点后y位的值,但会进行四舍五入。例如,`ROUND(1.23456, 3)` 返回 `1.235`。 9. POW(x, y) 和 POWER(x, y):这两个函数都用于计算x的y次幂。例如,`POW(2, 3)` 返回 `8`。 10. SQRT(x):返回x的平方根。例如,`SQRT(25)` 返回 `5`。 11. EXP(x):返回e(自然对数的底数)的x次方。例如,`EXP(3)` 返回 `20.085536923188`。 12. MOD(x, y):求x除以y的余数。例如,`MOD(5, 2)` 返回 `1`。 二、字符串函数 字符串函数在MySQL中用于处理和操作字符串数据,它们非常实用且多样化: 1. CHAR_LENGTH(s):返回字符串s的字符数。例如,`CHAR_LENGTH('你好123')` 返回 `5`。 2. CONCAT(s1, s2, ...):将多个字符串s1, s2等连接成一个字符串。例如,`CONCAT('12', '34')` 返回 `'1234'`。 3. CONCAT_WS(x, s1, s2, ...):类似于CONCAT,但在每个字符串之间插入分隔符x。例如,`CONCAT_WS('@', '12', '34')` 返回 `'12@34'`。 4. INSERT(s1, x, len, s2):在字符串s1的第x个字符开始,长度为len的部分被字符串s2替换。例如,`INSERT('12345', 1, 3, 'abc')` 返回 `'abc45'`。 5. UPPER(s) 和 UCASE(s):这两个函数都将字符串s转换为大写。例如,`UPPER('hello')` 返回 `'HELLO'`。 6. LOWER(s) 和 LCASE(s):这两个函数都将字符串s转换为小写。例如,`LOWER('HELLO')` 返回 `'hello'`。 7. LEFT(s, n):返回字符串s从左侧开始的n个字符。例如,`LEFT('Hello World', 5)` 返回 `'Hello'`。 8. RIGHT(s, n):返回字符串s从右侧开始的n个字符。例如,`RIGHT('Hello World', 5)` 返回 `'orld'`。 9. SUBSTRING(s, x, y):从字符串s的第x个字符开始,返回长度为y的子串。例如,`SUBSTRING('Hello World', 7, 5)` 返回 `'World'`。 10. REPLACE(s, old, new):在字符串s中将所有出现的old子串替换为new。例如,`REPLACE('Hello World', 'World', 'MySQL')` 返回 `'Hello MySQL'`。 11. LTRIM(s) 和 RTRIM(s):分别去掉字符串s左侧和右侧的空格。例如,`LTRIM(' Hello ')` 返回 `'Hello '`,`RTRIM(' Hello ')` 返回 `'Hello'`。 12. TRIM(s):去除字符串s两侧的空格。例如,`TRIM(' Hello ')` 返回 `'Hello'`。 以上仅列举了部分MySQL中的数学和字符串函数,实际上还有更多其他功能强大的函数,如STR_TO_DATE()、DATE_FORMAT()、FORMAT()等,这些函数在实际数据库操作中都有其独特的应用场景。学习并熟练掌握这些函数,将有助于提高数据处理和查询的效率。