函数二

函数

日期与时间函数

NOW()和SYSDATE()函数的作用相同,返回当前日期和时间值。

#示例
SELECT NOW(),SYSDATE();
#结果
+---------------------+---------------------+
| NOW()               | SYSDATE()           |
+---------------------+---------------------+
| 2020-10-18 10:55:26 | 2020-10-18 10:55:26 |
+---------------------+---------------------+

CURDATE函数和CURRENT_DATE函数

CURDATE函数和CURRENT_DATE函数的作用相同

#示例
SELECT CURDATE(),CURRENT_DATE(),CURRENT_DATE()+0;
#结果
+------------+----------------+------------------+
| CURDATE()  | CURRENT_DATE() | CURRENT_DATE()+0 |
+------------+----------------+------------------+
| 2020-10-18 | 2020-10-18     |         20201018 |
+------------+----------------+------------------+

CURTIME函数和CURRENT_TIME函数

CURTIME函数和CURRENT_TIME函数作用相同

#示例
SELECT CURTIME(),CURRENT_TIME(),CURRENT_TIME()+0;
#结果:
+-----------+----------------+------------------+
| CURTIME() | CURRENT_TIME() | CURRENT_TIME()+0 |
+-----------+----------------+------------------+
| 12:26:50  | 12:26:50       |           122650 |
+-----------+----------------+------------------+

DAYOFWEEK函数和WEEKDAY函数

DAYOFWEEK(d)函数返回d对应的一周中的索引。

WEEKEND(d)返回d对应的工作日索引。

#示例
SELECT DAYOFWEEK('2020-10-18'),WEEKDAY('2020-10-18');
#结果
+-------------------------+-----------------------+
| DAYOFWEEK('2020-10-18') | WEEKDAY('2020-10-18') |
+-------------------------+-----------------------+
|                       1 |                     6 |
+-------------------------+-----------------------+

DAYOFMONTH函数和DAYOFYEAR函数

DAYOFMONTH(d)函数返回d是一个月中的第几天,范围为1~31。

DAYOFYEAR(d)函数返回d是一年中的第几天,范围为1~366。

#示例
SELECT DAYOFMONTH('2020-10-18'),DAYOFYEAR('2020-10-18');
#结果
+--------------------------+-------------------------+
| DAYOFMONTH('2020-10-18') | DAYOFYEAR('2020-10-18') |
+--------------------------+-------------------------+
|                       18 |                     292 |
+--------------------------+-------------------------+

MONTH函数和MONTHNAME函数

MONTH(date)函数返回date对应的月份,范围1~12。

MONTHNAME(date)函数返回指定date对应的月份的英文全名。

#示例
SELECT MONTH('2020-10-18'),MONTHNAME('2020-10-18');
#结果
+---------------------+-------------------------+
| MONTH('2020-10-18') | MONTHNAME('2020-10-18') |
+---------------------+-------------------------+
|                  10 | October                 |
+---------------------+-------------------------+

DATEDIFF函数

DATEDIFF(date1,date2)返回起始时间date1和结束时间date2之间的天数。date1和date2为日期或date-and-time表达式。计算时只用到这些值的日期部分。

#示例
SELECT DATEDIFF('2020-10-18','2020-10-25') AS COL1,
DATEDIFF('2020-10-18','2020-11-20') AS COL2;
#结果
+------+------+
| COL1 | COL2 |
+------+------+
|   -7 |  -33 |
+------+------+

ADDDATE函数

ADDDATE(date,INTERVAL expr type)函数执行日期的加运算。

#示例
SELECT ADDDATE('2020-10-18 10:20:40',INTERVAL 1 SECOND) AS COL1,
ADDDATE('2020-10-18 10:20:40',INTERVAL '1:1' MINUTE_SECOND) AS COL2;
#结果
+---------------------+---------------------+
| COL1                | COL2                |
+---------------------+---------------------+
| 2020-10-18 10:20:41 | 2020-10-18 10:21:41 |
+---------------------+---------------------+

DATE_FORMAT函数

DATE_FORMAT(date,format)函数根据format指定的格式显示date值。

格式 描述
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%m 月,数值(00-12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间, 24-小时 (hh:mm:ss)
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位
#示例
SELECT DATE_FORMAT('2020-10-18 10:20:30','%W %M %D %Y') AS COL1,
DATE_FORMAT('2020-10-18 10:20:30','%h:%i %p %M %D %Y') AS COL2;
#结果
+--------------------------+----------------------------+
| COL1                     | COL2                       |
+--------------------------+----------------------------+
| Sunday October 18th 2020 | 10:20 AM October 18th 2020 |
+--------------------------+----------------------------+

聚合函数

MAX()函数返回指定列中的最大值。

#示例
SELECT MAX(student_score)
AS MAX_score
FROM tb_student-score;
#结果
返回最大值

MIN函数

MIN函数返回查询列中的最小值。

#示例
SELECT MIN(student_score)
AS MIN_score
FROM tb_student-score;
#结果
返回最小值

COUNT函数

COUNT()函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。

使用方法:

  • COUNT(*)计算表中总的行数,无论某列有数值或者空值。
  • COUNT(字段名)指定列下总行数,计算时将忽略空值的行。
#示例
SELECT COUNT(student_name)
AS students_number
FROM tb_student_score;
#结果返回总行数

SUM函数

SUM是一个求总和的函数,返回指定列值的总和。

#示例
SELECT SUM(student_score)
AS  SCORE_SUM
FROM tb_student_score;
#结果返回学生成绩总和

AVG函数

AVG函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。

#示例
SELECT AVG(student_score)
AS score_avg
FROM tb_student_score;
#结果返回所有同学的平均值
原文地址:https://www.cnblogs.com/striver20/p/13853439.html