MySQL提供了一系列特殊函数,用于执行各种操作,包括数学运算、字符串处理、日期和时间计算等。下面是一些常用的MySQL特殊函数及其样例:
1. **数学函数**:
- `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();` 返回一个随机数。
2. **字符串函数**:
- `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`。
3. **日期和时间函数**:
- `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());` 返回从指定时间到现在的小时差。
4. **聚合函数**:
- `COUNT(*)`:返回结果集的行数。
- 样例:`SELECT COUNT(*) FROM my_table;` 返回表中的行数。
- `MAX(column_name)`:返回指定列的最大值。
- 样例:`SELECT MAX(salary) FROM employees;` 返回员工表中工资的最大值。
- `