MySQL提供了一系列特殊函数,用于执行各种操作,包括数学运算、字符串处理、日期和时间计算等。下面是一些常用的MySQL特殊函数及其样例:
- **数学函数**:
-
`ABS(x)`:返回x的绝对值。
-
样例:`SELECT ABS(-10);` 返回 `10`。
-
`CEILING(x)`:返回不大于x的最大整数。
-
样例:`SELECT CEILING(3.7);` 返回 `4`。
-
`FLOOR(x)`:返回不小于x的最小整数。
-
样例:`SELECT FLOOR(4.3);` 返回 `4`。
-
`MOD(x, y)`:返回x除以y的余数。
-
样例:`SELECT MOD(10, 3);` 返回 `1`。
-
`POW(x, y)`:返回x的y次幂。
-
样例:`SELECT POW(2, 3);` 返回 `8`。
-
`RAND()`:返回0到1之间的随机数。
-
样例:`SELECT RAND();` 返回一个随机数。
- **字符串函数**:
-
`ASCII(str)`:返回str中的第一个字符的ASCII值。
-
样例:`SELECT ASCII('A');` 返回 `65`。
-
`CHAR(ascii_val)`:返回ASCII值对应的字符。
-
样例:`SELECT CHAR(65);` 返回 `A`。
-
`CONCAT(str1, str2, ...)`:连接多个字符串。
-
样例:`SELECT CONCAT('Hello', ' ', 'World');` 返回 `Hello World`。
-
`LENGTH(str)`:返回str的长度。
-
样例:`SELECT LENGTH('Hello');` 返回 `5`。
-
`REPLACE(str, from_str, to_str)`:将str中的from_str替换为to_str。
-
样例:`SELECT REPLACE('Hello World', 'World', 'Everyone');` 返回 `Hello Everyone`。
-
`UPPER(str)`:将str转换为大写。
-
样例:`SELECT UPPER('hello');` 返回 `HELLO`。
-
`LOWER(str)`:将str转换为小写。
-
样例:`SELECT LOWER('HELLO');` 返回 `hello`。
- **日期和时间函数**:
-
`CURDATE()`:返回当前日期。
-
样例:`SELECT CURDATE();` 返回当前日期。
-
`NOW()`:返回当前日期和时间。
-
样例:`SELECT NOW();` 返回当前日期和时间。
-
`DATE_FORMAT(date, format)`:按照给定的格式返回日期。
-
样例:`SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');` 返回当前日期和时间的格式化字符串。
-
`TIMESTAMPADD(unit, interval, datetime)`:向指定的datetime添加一个时间间隔。
-
样例:`SELECT TIMESTAMPADD(HOUR, 1, NOW());` 返回当前时间加上1小时的时间戳。
-
`TIMESTAMPDIFF(unit, datetime1, datetime2)`:返回两个datetime之间的差异。
-
样例:`SELECT TIMESTAMPDIFF(HOUR, '2023-11-02 12:00:00', NOW());` 返回从指定时间到现在的小时差。
- **聚合函数**:
-
`COUNT(*)`:返回结果集的行数。
-
样例:`SELECT COUNT(*) FROM my_table;` 返回表中的行数。
-
`MAX(column_name)`:返回指定列的最大值。
-
样例:`SELECT MAX(salary) FROM employees;` 返回员工表中工资的最大值。
-
`