MySQL内置函数
MySQL作为一款强大的关系型数据库管理系统,提供了丰富的内置函数,涵盖了字符串、数值、日期、聚合等多个方面,本人也在实际开发中深有体会。下面将对MySQL的常用内置函数进行全面解析,并结合实际案例进行说明。
1. 字符串函数
1.1 CONCAT()
用于连接两个或多个字符串。
用法:
CONCAT(string1, string2, ...)
示例:
SELECT CONCAT('Hello', ' ', 'World') AS Greeting;
-- 输出:Hello World
1.2 SUBSTRING()
用于提取字符串的子串。
用法:
SUBSTRING(string FROM start [FOR length])
示例:
SELECT SUBSTRING('MySQL is powerful', 1, 5) AS Substr;
-- 输出:MySQL
1.3 LENGTH()
返回字符串的长度。
用法:
LENGTH(string)
示例:
SELECT LENGTH('MySQL') AS StrLength;
-- 输出:5
1.4 UPPER()
和 LOWER()
分别用于将字符串转为大写和小写。
用法:
UPPER(string), LOWER(string)
示例:
SELECT UPPER('hello') AS UpperCase, LOWER('WORLD') AS LowerCase;
-- 输出:HELLO, world
2. 数值函数
2.1 ABS()
返回一个数的绝对值。
用法:
ABS(number)
示例:
SELECT ABS(-10) AS AbsoluteValue;
-- 输出:10
2.2 ROUND()
对一个数进行四舍五入。
用法:
ROUND(number, decimals)
示例:
SELECT ROUND(3.14159, 2) AS RoundedNumber;
-- 输出:3.14
2.3 RAND()
返回一个0到1之间的随机数。
用法:
RAND()
示例:
SELECT RAND() AS RandomNumber;
-- 输出:(随机数)
3. 日期函数
3.1 NOW()
返回当前日期和时间。
用法:
NOW()
示例:
SELECT NOW() AS CurrentDateTime;
-- 输出:(当前日期和时间)
3.2 DATE_FORMAT()
将日期格式化为指定的字符串。
用法:
DATE_FORMAT(date, format)
示例:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS FormattedDate;
-- 输出:(当前日期的格式化字符串)
3.3 DATEDIFF()
计算两个日期之间的天数差。
用法:
DATEDIFF(endDate, startDate)
示例:
SELECT DATEDIFF('2023-01-01', '2022-01-01') AS DayDifference;
-- 输出:365
4. 聚合函数
4.1 SUM()
计算某列的总和。
用法:
SUM(column)
示例:
SELECT SUM(salary) AS TotalSalary FROM employees;
-- 输出:(某公司所有员工薪水总和)
4.2 AVG()
返回某列的平均值。
用法:
AVG(column)
示例:
SELECT AVG(age) AS AverageAge FROM students;
-- 输出:(学生年龄的平均值)
4.3 COUNT()
返回某列的行数。
用法:
COUNT(*)
示例:
SELECT COUNT(*) AS TotalRows FROM orders;
-- 输出:(订单总数)
5. 条件函数
5.1 IF()
根据条件返回不同的值。
用法:
IF(condition, value_if_true, value_if_false)
示例:
SELECT IF(score >= 60, 'Pass', 'Fail') AS ExamResult FROM exams;
-- 输出:(考试结果)
5.2 CASE
实现多条件判断。
用法:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
示例:
SELECT
CASE
WHEN grade >= 90 THEN 'A'
WHEN grade >= 80 THEN 'B'
ELSE 'C'
END AS GradeCategory
FROM student_grades;
-- 输出:(学生成绩分类)
以上介绍的MySQL内置函数仅是冰山一角,MySQL还提供了许多其他丰富而强大的函数,适用于各种数据库操作场景。在实际应用中,根据需求选择合适的函数可以提高查询效率和开发效率。希望本文能够帮助你更好地理解和使用MySQL内置函数。