mysql内建查询函数

MySQL 提供了多种内建查询函数,如聚合函数(SUM, AVG)、字符串函数(CONCAT, SUBSTRING)等,用于数据处理和分析。

MySQL内建查询函数

MySQL作为流行的关系型数据库管理系统,提供了丰富的内建查询函数,这些函数在处理数据时发挥着重要作用,以下是对MySQL内建查询函数的详细介绍:

一、字符串函数

1、CONCAT:用于连接多个字符串。SELECT CONCAT('Hello', ' ', 'World') 结果为'Hello World'

2、SUBSTRING:从字符串中提取子字符串,如SELECT SUBSTRING('HelloWorld', 6) 结果为'World'

3、LENGTH:返回字符串的长度。SELECT LENGTH('HelloWorld') 结果为11

4、UPPER/LOWER:将字符串转换为大写或小写,如SELECT UPPER('hello') 结果为'HELLO'SELECT LOWER('HELLO') 结果为'hello'

5、LPAD/RPAD:左填充或右填充字符串到指定长度。SELECT LPAD('01', 5, '') 结果为'01'SELECT RPAD('01', 5, '') 结果为'01'

6、REPLACE:替换字符串中的子串,如SELECT REPLACE('Hello MySQL', 'Hello', 'Hi') 结果为'Hi MySQL'

7、TRIM:去掉字符串两端的空格。SELECT TRIM(' hell o ') 结果为'hell o'

8、REVERSE:反转字符串,如SELECT REVERSE('abcd') 结果为'dcba'

9、ELT:返回列表中的第N个元素。SELECT ELT(3, 'a', 'b', 'c', 'd') 结果为'c'

二、数值函数

1、ROUND:将数值四舍五入到指定的小数位数,如SELECT ROUND(3.14159, 2) 结果为3.14

2、ABS:返回数值的绝对值。SELECT ABS(5) 结果为5

3、FLOOR:返回不大于指定数值的最大整数,如SELECT FLOOR(3.7) 结果为3

4、CEIL:向上取整,返回不小于指定数值的最小整数。SELECT CEIL(2.3) 结果为3

mysql内建查询函数

5、MOD:返回两个数值相除的余数,如SELECT MOD(3, 2) 结果为1

6、RAND:生成0~1之间的随机浮点数,可以配合其他函数生成随机验证码等。SELECT LPAD(ROUND(RAND()*1000000, 0), 6, '0') 可生成6位随机码。

7、SIGN:返回参数的符号,正数返回1,负数返回1,零返回0,如SELECT SIGN(5) 结果为1

8、POW/EXP:分别用于计算幂和指数。SELECT POW(2, 3) 结果为8SELECT EXP(1) 结果为自然常数e的值。

三、日期和时间函数

1、NOW:返回当前日期和时间。SELECT NOW() 结果为当前的日期和时间。

2、CURDATE/CURTIME:分别用于获取当前日期和当前时间,如SELECT CURDATE() 结果为当前日期,SELECT CURTIME() 结果为当前时间。

3、DATE_FORMAT:将日期格式化为指定格式。SELECT DATE_FORMAT(NOW(), '%Y%m%d') 结果为当前日期的格式化表示,如'20220101'

4、DATE_ADD/DATE_SUB:分别用于日期的加法和减法运算。SELECT DATE_ADD(NOW(), INTERVAL 7 DAY) 结果为7天后的时间,SELECT DATE_SUB(NOW(), INTERVAL 15 DAY) 结果为15天前的时间。

5、DATEDIFF:计算两个日期之间的天数差,如SELECT DATEDIFF('20220101', '20211201') 结果为31

6、YEAR/MONTH/DAY:分别用于提取日期中的年份、月份和日期。SELECT YEAR('20220101') 结果为2022SELECT MONTH('20220101') 结果为1SELECT DAY('20220101') 结果为1

7、HOUR/MINUTE/SECOND:分别用于提取时间中的小时、分钟和秒,如SELECT HOUR('12:34:56') 结果为12SELECT MINUTE('12:34:56') 结果为34SELECT SECOND('12:34:56') 结果为56

mysql内建查询函数

8、UNIX_TIMESTAMP:返回当前时间的Unix时间戳,即从1970年1月1日00:00:00 UTC到现在的秒数。SELECT UNIX_TIMESTAMP()

9、FROM_UNIXTIME:将Unix时间戳转换为日期时间格式,如SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()) 结果为当前的日期和时间。

四、流程控制函数

1、IF:根据条件返回不同的值。SELECT IF(salary > 10000, '高薪', '普通'),如果salary 大于10000,则返回'高薪',否则返回'普通'

2、CASE WHEN:实现多条件分支处理。SELECT CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' ELSE 'C' END AS grade FROM exams; 根据score 的不同范围返回不同的等级。

五、聚合函数

1、COUNT:统计行数或满足条件的行数,如SELECT COUNT(*) FROM table_name; 统计表中的所有行数,SELECT COUNT(column_name) FROM table_name; 统计指定列非空的行数。

2、SUM:求和。SELECT SUM(price) FROM orders; 计算订单中所有商品价格的总和。

3、AVG:求平均值,如SELECT AVG(score) FROM exams; 计算考试分数的平均值。

4、MAX:求最大值。SELECT MAX(salary) FROM employees; 查找员工中的最高工资。

5、MIN:求最小值,如SELECT MIN(age) FROM students; 查找学生中的最小年龄。

六、加密和类型转换函数

mysql内建查询函数

1、MD5:用于生成哈希值,常用于密码加密等场景。SELECT MD5('password') 返回密码的MD5加密值。

2、AES_ENCRYPT:用于加密敏感数据。

3、CAST:强制转换数据类型,如SELECT CAST(column_name AS char) FROM table_name; 将指定列的数据类型转换为字符型。

七、其他实用函数

1、USER:返回当前用户名。

2、DATABASE:返回当前数据库名。

3、VERSION:返回MySQL的版本号。

4、LAST_INSERT_ID:返回最后插入记录的自动编号值。

MySQL的内建查询函数涵盖了数据处理的各个方面,熟练掌握这些函数的使用,可以大大提高数据库操作的效率和灵活性。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/153695.html

Like (0)
小编小编
Previous 2025年3月7日 09:45
Next 2025年3月7日 09:52

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注