1. 字符串函数
- CONCAT(str1, str2, ...): 连接字符串。
SELECT CONCAT('Hello', ' ', 'World') AS result;
-- 输出:Hello World
- SUBSTRING(str, start, length): 截取字符串的子串。
SELECT SUBSTRING('Hello World', 1, 5) AS result;
-- 输出:Hello
- UPPER(str): 将字符串转换为大写。
SELECT UPPER('hello') AS result;
-- 输出:HELLO
- LOWER(str): 将字符串转换为小写。
SELECT LOWER('WORLD') AS result;
-- 输出:world
2. 数学函数
- ROUND(num, decimals): 四舍五入。
SELECT ROUND(5.678, 1) AS result;
-- 输出:5.7
- CEIL(num): 向上取整。
SELECT CEIL(3.14) AS result;
-- 输出:4
- FLOOR(num): 向下取整。
SELECT FLOOR(3.99) AS result;
-- 输出:3
- ABS(num): 取绝对值。
SELECT ABS(-7) AS result;
-- 输出:7
3. 日期和时间函数
- NOW(): 返回当前日期和时间。
SELECT NOW() AS current_datetime;
- DATE_FORMAT(date, format): 格式化日期。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;
-- 输出:2023-01-15
- DATEDIFF(date1, date2): 计算日期差值。
SELECT DATEDIFF('2023-01-15', '2023-01-01') AS date_difference;
-- 输出:14
- CURDATE(): 返回当前日期。
SELECT CURDATE() AS current_date;
4. 条件函数
- IFNULL(expr1, expr2): 如果第一个表达式不为NULL,则返回第一个表达式的值;否则,返回第二个表达式的值。
SELECT IFNULL(NULL, 'default_value') AS result;
-- 输出:default_value
- CASE WHEN ... THEN ... ELSE ... END: 类似于程序中的switch语句。
SELECT
CASE
WHEN grade >= 90 THEN 'A'
WHEN grade >= 80 THEN 'B'
WHEN grade >= 70 THEN 'C'
ELSE 'D'
END AS grade_result
FROM student_scores;
以上只是一小部分MySQL函数的示例。在实际应用中,你可能会遇到更多类型的函数,具体取决于你的需求。
转载请注明出处:http://www.zyzy.cn/article/detail/8008/MySQL