MySQL内置函数

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内置函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值