MySQL函数的介绍:

MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。

准备工作:

创建表:

-- 文章表
CREATE TABLE IF NOT EXISTS `article`(
   `pk_id` INT UNSIGNED AUTO_INCREMENT,
   `title` VARCHAR(100) NOT NULL,
   `author_id` VARCHAR(40) NOT NULL,
   `score`  INT(3),
   `release_date` DATE,
   PRIMARY KEY ( `pk_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据

INSERT INTO article ( pk_id, title,author_id,score,release_date )
                       VALUES
                       ( 1, "小菜鸡",1,99,now());
INSERT INTO article ( pk_id, title,author_id,score,release_date )
                       VALUES
                       ( 2, "小菜鸡2",2,100,now());
INSERT INTO article ( pk_id, title,author_id,score,release_date )
                       VALUES
                       ( 3, "小菜鸡3",3,60,now());
INSERT INTO article ( pk_id, title,author_id,score,release_date )
                       VALUES
                       ( 4, "小菜鸡4",4,-10,now());

数据列表:
在这里插入图片描述

MySQL数字函数:

ABS(x)

描述:返回 x 的绝对值

案例:

select pk_id,abs(score) from article

在这里插入图片描述
pk_id等于1的记录,score是-10,通过abs(score)就变成了10

AVG(expression)

描述:返回一个表达式的平均值,expression 是一个字段

案例:

select AVG(score) from article

在这里插入图片描述

MAX(expression)

描述:返回字段 expression 中的最大值

案例:

select max(score) from article

在这里插入图片描述

MIN(expression)

描述:返回字段 expression 中的最小值

案例:

select min(score) from article

在这里插入图片描述

CEIL(x)

描述:向上取舍

案例:

SELECT CEIL(1.5)  
-> 2
SELECT CEIL(-1.5)  
-> -1

FLOOR(x)

描述:向下取舍

案例:

SELECT FLOOR(1.5)  
-> 1
SELECT FLOOR(-1.5)  
-> -2

ROUND(x)

描述:四舍五入
案例:

SELECT ROUND(1.4) 
-> 1
SELECT ROUND(1.5)  
-> 2

SUM(expression)

描述:返回指定字段的总和

案例:

select sum(score) from article

在这里插入图片描述

MySQL字符串函数

CHARACTER_LENGTH(s)

描述:返回字符串 s 的字符数

案例:

select pk_id,CHARACTER_LENGTH(title) from article

在这里插入图片描述

pk_id等于1的title是小菜鸡,长度是3,pk_id等于2的title是小菜鸡2,长度是4

CONCAT(s1,s2…sn)

描述:字符串 s1,s2 等多个字符串合并为一个字符串

案例:

select pk_id,CONCAT(title,author_id) from article

在这里插入图片描述
把title字段和author_id合并起来。

LEFT(s,n)

描述:返回字符串 s 的前 n 个字符

案例:

select pk_id,left(title,1) from article

在这里插入图片描述

RIGHT(s,n)

描述:返回字符串 s 的后 n 个字符

案例:

select pk_id,right(title,1) from article

在这里插入图片描述

LOWER(s)

描述:将字符串 s 的所有字母变成小写字母

案例:

SELECT LOWER('JAVA') 
 -> java

UPPER(s)

描述:将字符串转换为大写

案例:

SELECT LOWER('java')  
-> JAVA

LTRIM(s)

描述:去掉字符串 s 开始处的空格

SELECT LTRIM("    JAVA") 
-> JAVA

REPLACE(s,s1,s2)

描述:将字符串 s2 替代字符串 s 中的字符串 s1

案例:

SELECT REPLACE('abc','a','x') 
-> xbc

REVERSE(s)

描述:将字符串s的顺序反过来

SELECT REVERSE('JAVA')
-> AVAJ

SUBSTR(s, start, length)

描述:从字符串 s 的 start 位置截取长度为 length 的子字符串

select pk_id,substr(title,1,2) from article

在这里插入图片描述

MySQL时间和日期函数:

CURDATE()

描述:返回当前日期

案例:

SELECT CURDATE(); 
-> 2021-08-18

NOW()

描述:返回当前日期和时间

案例:

SELECT NOW()
-> 2021-08-18 18:39:12

MONTH(d)

描述:返回日期d中的月份值,1 到 12

案例:

select pk_id,month(release_date) from article

在这里插入图片描述

DAYNAME(d)

描述:返回日期 d 是星期几,如 Monday,Tuesday

案例:

select pk_id,dayname(release_date) from article

在这里插入图片描述

WEEK(d)

描述:计算日期 d 是本年的第几个星期,范围是 0 到 53

案例:

select pk_id,week(release_date) from article

在这里插入图片描述

Logo

更多推荐