当前位置:网站首页>数据库系统原理与应用教程(054)—— MySQL 查询(十六):日期时间型函数的用法
数据库系统原理与应用教程(054)—— MySQL 查询(十六):日期时间型函数的用法
2022-07-26 01:06:00 【睿思达DBA_WGX】
数据库系统原理与应用教程(054)—— MySQL 查询(十六):日期时间型函数的用法
目录
查询时使用函数可以构造更加灵活的查询条件,MySQL 提供了处理日期和时间的函数。
一、创建数据表
查询使用的数据表如下:
-- 表结构
mysql> desc student;
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| s_id | char(5) | NO | PRI | NULL | |
| s_name | char(20) | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| birth | datetime | YES | | NULL | |
| phone | char(20) | YES | | NULL | |
| addr | varchar(100) | YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
6 rows in set (0.10 sec)
-- 表中的数据
mysql> select * from student;
+-------+-----------+--------+---------------------+-------------+-----------+
| s_id | s_name | gender | birth | phone | addr |
+-------+-----------+--------+---------------------+-------------+-----------+
| S2011 | 张晓刚 | 男 | 1999-12-03 00:00:00 | 13163735775 | 信阳市 |
| S2012 | 刘小青 | 女 | 1999-10-11 00:00:00 | 13603732255 | 新乡市 |
| S2013 | 曹梦德 | 男 | 1998-02-13 00:00:00 | 13853735522 | 郑州市 |
| S2014 | 刘艳 | 女 | 1998-06-24 00:00:00 | 13623735335 | 郑州市 |
| S2015 | 刘艳 | 女 | 1999-07-06 00:00:00 | 13813735225 | 信阳市 |
| S2016 | 刘若非 | 女 | 2000-08-31 00:00:00 | 13683735533 | 开封市 |
| S2021 | 董雯花 | 女 | 2000-07-30 00:00:00 | 13533735564 | 开封市 |
| S2022 | 周华建 | 男 | 1999-05-25 00:00:00 | 13243735578 | 郑州市 |
| S2023 | 特朗普 | 男 | 1999-06-21 00:00:00 | 13343735588 | 新乡市 |
| S2024 | 奥巴马 | 男 | 2000-10-17 00:00:00 | 13843735885 | 信阳市 |
| S2025 | 周健华 | 男 | 2000-08-22 00:00:00 | 13788736655 | 开封市 |
| S2026 | 张学有 | 男 | 1998-07-06 00:00:00 | 13743735566 | 郑州市 |
| S2031 | 李明博 | 女 | 1999-10-26 00:00:00 | 13643732222 | 郑州市 |
| S2032 | 达芬奇 | 男 | 1999-12-31 00:00:00 | 13043731234 | 郑州市 |
+-------+-----------+--------+---------------------+-------------+-----------+
14 rows in set (0.00 sec)
二、查询系统日期和时间的函数
用于返回计算机的系统日期和时间。
语法格式如下:
-- 函数都不带参数
-- CURDATE() 和 CURRENT_DATE() 两个函数的返回值相同,都是返回系统日期
-- CURTIME() 和 CURRENT_TIME() 两个函数的返回值相同,都是返回系统时间
-- 函数 NOW() 返回系统日期和时间。
CURDATE()
CURRENT_DATE()
CURTIME()
CURRENT_TIME()
NOW()
例如:
(1)查询当前日期、当前时间和当前日期时间:
mysql> select current_date(),current_time(),now() from dual;
+----------------+----------------+---------------------+
| current_date() | current_time() | now() |
+----------------+----------------+---------------------+
| 2022-07-23 | 11:33:03 | 2022-07-23 11:33:03 |
+----------------+----------------+---------------------+
1 row in set (0.00 sec)
mysql> select curdate(),curtime(),now() from dual;
+------------+-----------+---------------------+
| curdate() | curtime() | now() |
+------------+-----------+---------------------+
| 2022-07-23 | 11:32:36 | 2022-07-23 11:32:36 |
+------------+-----------+---------------------+
1 row in set (0.00 sec)
(2)查询学生的年龄
-- 使用 curdate() 函数
mysql> select s_id, s_name, year(curdate())-year(birth) age from student where addr='新乡市';
+-------+-----------+------+
| s_id | s_name | age |
+-------+-----------+------+
| S2012 | 刘小青 | 23 |
| S2023 | 特朗普 | 23 |
+-------+-----------+------+
2 rows in set (0.00 sec)
-- 使用 current_date() 函数
mysql> select s_id, s_name, year(current_date())-year(birth) age from student where addr='新乡市';
+-------+-----------+------+
| s_id | s_name | age |
+-------+-----------+------+
| S2012 | 刘小青 | 23 |
| S2023 | 特朗普 | 23 |
+-------+-----------+------+
2 rows in set (0.00 sec)
-- 使用 now() 函数
mysql> select s_id, s_name, year(now())-year(birth) age from student where addr='新乡市';
+-------+-----------+------+
| s_id | s_name | age |
+-------+-----------+------+
| S2012 | 刘小青 | 23 |
| S2023 | 特朗普 | 23 |
+-------+-----------+------+
2 rows in set (0.01 sec)
三、查询日期时间中的各个组成部分
返回日期时间中的年、月、日、时、分、秒、星期几等信息。
语法格式如下:
YEAR(datetime) -- 返回日期中的年份,返回值范围从 1000 到 9999
MONTH(datetime) -- 返回日期中的月份,返回值范围从 1 到 12
MONTHNAME(datetime) -- 返回日期中月份的全名
DAY(datetime) -- 返回日期中当前月份的第几天,返回值范围从 1 到 31
DAYOFMONTH(datetime) -- 与函数 DAY(datetime) 用法完全相同
DAYOFWEEK(datetime) -- 返回当前日期是星期几(数值型:1=周日,2=周一, ...,7=周六)
DAYOFYEAR(datetime) -- 返回当前日期是一年中的第几天,返回值范围从 1 到 366
DAYNAME(datetime) -- 返回当前日期是星期几(字符型:日期的英文单词)
QUARTER(datetime) -- 返回当前日期是第几季度,返回值范围从 1 到 4
HOUR(datetime) -- 返回当前时间的小时数,返回值范围从 0 到 23
MINUTE(datetime) -- 返回当前时间的分钟数,返回值范围从 0 到 59
SECOND(datetime) -- 返回当前时间的秒数,返回值范围从 0 到 59
-- EXTRACT 函数使用 part 参数指明要返回的是日期时间中的哪一部分,即:年、月、日、时、分、秒、星期几等信息
-- part 参数的取值如下:YEAR(年)、MONTH(月)、DAY(日)、HOUR(时)、MINUTE(分)、SECOND(秒)
-- MICROSECOND(毫秒)、WEEK(一年的第几周)、QUARTER(第几个季度)
EXTRACT(part from datetime)
例如:
(1)基本用法举例
-- 分别返回日期中的年、月、日
mysql> select year(now()),month(now()),day(now()) from dual;
+-------------+--------------+------------+
| year(now()) | month(now()) | day(now()) |
+-------------+--------------+------------+
| 2022 | 7 | 23 |
+-------------+--------------+------------+
1 row in set (0.00 sec)
mysql> select EXTRACT(year from now()),EXTRACT(month from now()),EXTRACT(day from now())
from dual;
+--------------------------+---------------------------+-------------------------+
| EXTRACT(year from now()) | EXTRACT(month from now()) | EXTRACT(day from now()) |
+--------------------------+---------------------------+-------------------------+
| 2022 | 7 | 23 |
+--------------------------+---------------------------+-------------------------+
1 row in set (0.00 sec)
-- 分别返回时间中的时、分、秒
mysql> select hour(now()),minute(now()),second(now()) from dual;
+-------------+---------------+---------------+
| hour(now()) | minute(now()) | second(now()) |
+-------------+---------------+---------------+
| 11 | 45 | 29 |
+-------------+---------------+---------------+
1 row in set (0.00 sec)
mysql> select EXTRACT(hour from now()),EXTRACT(minute from now()),EXTRACT(second from now())
from dual;
+--------------------------+----------------------------+----------------------------+
| EXTRACT(hour from now()) | EXTRACT(minute from now()) | EXTRACT(second from now()) |
+--------------------------+----------------------------+----------------------------+
| 11 | 57 | 34 |
+--------------------------+----------------------------+----------------------------+
1 row in set (0.00 sec)
-- 查询当前日期中的年、月、日、星期几
mysql> select year(now()),monthname(now()),dayofmonth(now()),dayofweek(now()),dayname(now())
-> from dual;
+-------------+------------------+-------------------+------------------+----------------+
| year(now()) | monthname(now()) | dayofmonth(now()) | dayofweek(now()) | dayname(now()) |
+-------------+------------------+-------------------+------------------+----------------+
| 2022 | July | 23 | 7 | Saturday |
+-------------+------------------+-------------------+------------------+----------------+
1 row in set (0.02 sec)
-- 查询当前日期是一年中的第几天,第几季度
mysql> select dayofyear(now()),quarter(now()) from dual;
+------------------+----------------+
| dayofyear(now()) | quarter(now()) |
+------------------+----------------+
| 204 | 3 |
+------------------+----------------+
1 row in set (0.00 sec)
mysql> select EXTRACT(quarter from now()) from dual;
+-----------------------------+
| EXTRACT(quarter from now()) |
+-----------------------------+
| 3 |
+-----------------------------+
1 row in set (0.00 sec)
(2)查询第三季度出生的学生信息
mysql> select * from student where quarter(birth)=3;
+-------+-----------+--------+---------------------+-------------+-----------+
| s_id | s_name | gender | birth | phone | addr |
+-------+-----------+--------+---------------------+-------------+-----------+
| S2015 | 刘艳 | 女 | 1999-07-06 00:00:00 | 13813735225 | 信阳市 |
| S2016 | 刘若非 | 女 | 2000-08-31 00:00:00 | 13683735533 | 开封市 |
| S2021 | 董雯花 | 女 | 2000-07-30 00:00:00 | 13533735564 | 开封市 |
| S2025 | 周健华 | 男 | 2000-08-22 00:00:00 | 13788736655 | 开封市 |
| S2026 | 张学有 | 男 | 1998-07-06 00:00:00 | 13743735566 | 郑州市 |
+-------+-----------+--------+---------------------+-------------+-----------+
5 rows in set (0.00 sec)
(3)查询本月过生日的学生信息
mysql> select * from student where month(birth)=month(now());
+-------+-----------+--------+---------------------+-------------+-----------+
| s_id | s_name | gender | birth | phone | addr |
+-------+-----------+--------+---------------------+-------------+-----------+
| S2015 | 刘艳 | 女 | 1999-07-06 00:00:00 | 13813735225 | 信阳市 |
| S2021 | 董雯花 | 女 | 2000-07-30 00:00:00 | 13533735564 | 开封市 |
| S2026 | 张学有 | 男 | 1998-07-06 00:00:00 | 13743735566 | 郑州市 |
+-------+-----------+--------+---------------------+-------------+-----------+
3 rows in set (0.00 sec)
(4)查询今天生日的学生信息
mysql> select * from student
where month(birth)=month(now()) and day(birth)=day(now());
Empty set (0.00 sec)
四、对日期和时间进行计算的函数
1、DATE_ADD() 函数
在某个日期时间上增加一个日期、时间单位。
语法格式如下:
-- unit:日期、时间单位,取值为:YEAR(年),MONTH(月),DAY(天),HOUR(小时),MINUTE(分钟),
-- SECOND(秒),WEEK(星期),QUARTER(季度)
-- n:为一个整数。当 n 大于 0 时,表示增加 n 个日期时间单位,当 n 小于 0 时,表示减少 n 个时间单位
DATE_ADD(datetime, interval n unit)
例如:
(1)基本用法举例
-- 查询当前日期之后 2 年、10 个月、258 天的日期
/* select now(), date_add(now(),interval 2 year) date1, date_add(now(),interval 10 month) date2, date_add(now(),interval 258 day) date3 from dual; */
mysql> select now(),
-> date_add(now(),interval 2 year) date1,
-> date_add(now(),interval 10 month) date2,
-> date_add(now(),interval 258 day) date3
-> from dual;
+---------------------+---------------------+---------------------+---------------------+
| now() | date1 | date2 | date3 |
+---------------------+---------------------+---------------------+---------------------+
| 2022-07-23 12:07:41 | 2024-07-23 12:07:41 | 2023-05-23 12:07:41 | 2023-04-07 12:07:41 |
+---------------------+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)
-- 查询当前日期之前 3 年、20 个月、558 天的日期
/* select now(), date_add(now(),interval -3 year) date1, date_add(now(),interval -20 month) date2, date_add(now(),interval -558 day) date3 from dual; */
mysql> select now(),
-> date_add(now(),interval -3 year) date1,
-> date_add(now(),interval -20 month) date2,
-> date_add(now(),interval -558 day) date3
-> from dual;
+---------------------+---------------------+---------------------+---------------------+
| now() | date1 | date2 | date3 |
+---------------------+---------------------+---------------------+---------------------+
| 2022-07-23 12:09:13 | 2019-07-23 12:09:13 | 2020-11-23 12:09:13 | 2021-01-11 12:09:13 |
+---------------------+---------------------+---------------------+---------------------+
1 row in set (0.01 sec)
-- 查询当前日期之后 12 周、5 个季度的日期
/* select now(), date_add(now(),interval 12 week) date1, date_add(now(),interval 5 quarter) date2 from dual; */
mysql> select now(),
-> date_add(now(),interval 12 week) date1,
-> date_add(now(),interval 5 quarter) date2
-> from dual;
+---------------------+---------------------+---------------------+
| now() | date1 | date2 |
+---------------------+---------------------+---------------------+
| 2022-07-23 12:14:37 | 2022-10-15 12:14:37 | 2023-10-23 12:14:37 |
+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)
-- 查询当前时间之后 2 小时、125 分钟、258 秒的时间
/* select now(), date_add(now(),interval 2 hour) time1, date_add(now(),interval 125 minute) time2, date_add(now(),interval 258 second) time3 from dual; */
mysql> select now(),
-> date_add(now(),interval 2 hour) time1,
-> date_add(now(),interval 125 minute) time2,
-> date_add(now(),interval 258 second) time3
-> from dual;
+---------------------+---------------------+---------------------+---------------------+
| now() | time1 | time2 | time3 |
+---------------------+---------------------+---------------------+---------------------+
| 2022-07-23 12:13:02 | 2022-07-23 14:13:02 | 2022-07-23 14:18:02 | 2022-07-23 12:17:20 |
+---------------------+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)
(2)查询 20 天之后过生日的学生
/* select * from student where month(birth) = date_add(now(),interval 20 day) and day(birth) = date_add(now(),interval 20 day); */
mysql>
mysql> select * from student
-> where month(birth) = date_add(now(),interval 20 day) and
-> day(birth) = date_add(now(),interval 20 day);
Empty set (0.01 sec)
2、ADDDATE() 函数
ADDDATE() 函数与 DATE_ADD() 函数功能相似。
语法格式如下:
ADDDATE(datetime,days) --增加 (n>0) 或减少 (n<0) n 天
ADDDATE(datetime,interval n unit) -- 用法与 DATE_ADD() 函数完全相同
例如:
mysql> select now(),adddate(now(),100),adddate(now(),-100) from dual;
+---------------------+---------------------+---------------------+
| now() | adddate(now(),100) | adddate(now(),-100) |
+---------------------+---------------------+---------------------+
| 2022-07-23 12:19:52 | 2022-10-31 12:19:52 | 2022-04-14 12:19:52 |
+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)
3、DATEDIFF() 函数
返回两个日期间隔的天数。
语法格式如下:
-- 返回两个日期间隔的天数
DATEDIFF(datetime1,datetime2)
例如:查询学生的年龄
mysql> select s_id, s_name, birth, datediff(now(),birth)/365 age from student;
+-------+-----------+---------------------+---------+
| s_id | s_name | birth | age |
+-------+-----------+---------------------+---------+
| S2011 | 张晓刚 | 1999-12-03 00:00:00 | 22.6521 |
| S2012 | 刘小青 | 1999-10-11 00:00:00 | 22.7973 |
| S2013 | 曹梦德 | 1998-02-13 00:00:00 | 24.4548 |
| S2014 | 刘艳 | 1998-06-24 00:00:00 | 24.0959 |
| S2015 | 刘艳 | 1999-07-06 00:00:00 | 23.0630 |
| S2016 | 刘若非 | 2000-08-31 00:00:00 | 21.9068 |
| S2021 | 董雯花 | 2000-07-30 00:00:00 | 21.9945 |
| S2022 | 周华建 | 1999-05-25 00:00:00 | 23.1781 |
| S2023 | 特朗普 | 1999-06-21 00:00:00 | 23.1041 |
| S2024 | 奥巴马 | 2000-10-17 00:00:00 | 21.7781 |
| S2025 | 周健华 | 2000-08-22 00:00:00 | 21.9315 |
| S2026 | 张学有 | 1998-07-06 00:00:00 | 24.0630 |
| S2031 | 李明博 | 1999-10-26 00:00:00 | 22.7562 |
| S2032 | 达芬奇 | 1999-12-31 00:00:00 | 22.5753 |
+-------+-----------+---------------------+---------+
14 rows in set (0.00 sec)
4、TIMEDIFF() 函数
返回两个时间的间隔。
语法格式如下:
-- 返回两个时间的间隔
TIMEDIFF(datetime1, datetime2)
例如:
/* SET @time1 = '2022-7-23 18:23:15'; SET @time2 = '2022-7-22 18:23:15'; SET @time3 = '2022-5-29 18:23:15'; SELECT TIMEDIFF(NOW(),@time1),TIMEDIFF(NOW(),@time2),TIMEDIFF(NOW(),@time3) from dual; */
mysql> SET @time1 = '2022-7-23 18:23:15';
Query OK, 0 rows affected (0.01 sec)
mysql> SET @time2 = '2022-7-22 18:23:15';
Query OK, 0 rows affected (0.00 sec)
mysql> SET @time3 = '2022-5-29 18:23:15';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT TIMEDIFF(NOW(),@time1),TIMEDIFF(NOW(),@time2),TIMEDIFF(NOW(),@time3)
-> from dual;
+------------------------+------------------------+------------------------+
| TIMEDIFF(NOW(),@time1) | TIMEDIFF(NOW(),@time2) | TIMEDIFF(NOW(),@time3) |
+------------------------+------------------------+------------------------+
| 00:18:26 | 24:18:26 | 838:59:59 |
+------------------------+------------------------+------------------------+
1 row in set, 1 warning (0.00 sec)
五、其他函数
1、DATE() 和 TIME() 函数
返回一个日期时间表达式中的日期和时间。
语法格式如下:
DATE(datetime) -- 返回日期时间表达式中的日期
TIME(datetime) -- 返回日期时间表达式中的时间
例如:
mysql> select now(),date(now()),time(now()) from dual;
+---------------------+-------------+-------------+
| now() | date(now()) | time(now()) |
+---------------------+-------------+-------------+
| 2022-07-23 18:55:18 | 2022-07-23 | 18:55:18 |
+---------------------+-------------+-------------+
1 row in set (0.00 sec)
2、MAKEDATE() 与 MAKETIME() 函数
根据指定的参数生成日期和时间。
语法格式如下:
-- 第一个参数表示年份,第二个参数表示天数
-- 函数的返回值表示从指定年份的 1 月 1 日开始计算,n 天之后的日期
MAKEDATE(year,n)
MAKETIME(hour,minute,second) -- 根据参数提供的时、分、秒生成一个时间
例如:
mysql> select makedate(2022,152),makedate(2022,365),makedate(2022,455) from dual;
+--------------------+--------------------+--------------------+
| makedate(2022,152) | makedate(2022,365) | makedate(2022,455) |
+--------------------+--------------------+--------------------+
| 2022-06-01 | 2022-12-31 | 2023-03-31 |
+--------------------+--------------------+--------------------+
1 row in set (0.00 sec)
mysql> select maketime(22,15,33) from dual;
+--------------------+
| maketime(22,15,33) |
+--------------------+
| 22:15:33 |
+--------------------+
1 row in set (0.00 sec)
3、LAST_DAY() 函数
返回日期表达式所在月份的最后一天的日期。
语法格式如下:
LAST_DAY(datetime)
例如:
mysql> select NOW(),LAST_DAY(NOW()),LAST_DAY('2022-2-5'),LAST_DAY('2020-2-5')
from dual\G
*************************** 1. row ***************************
NOW(): 2022-07-23 19:06:33
LAST_DAY(NOW()): 2022-07-31
LAST_DAY('2022-2-5'): 2022-02-28
LAST_DAY('2020-2-5'): 2020-02-29
1 row in set (0.00 sec)
4、DATE_FORMAT() 函数
对一个日期进行格式化。
语法格式如下:
DATE_FORMAT(datetime, format)
/* -- 根据 format 字符串规定的格式显示日期。 -- format 字符串使用的字符如下: %a 工作日的缩写名称 (Sun … Sat) %b 月份的缩写名称 (Jan … Dec) %c 月份,数字形式(0 … 12) %D 带有英语后缀的该月日期 (0th, 1st, 2nd, 3rd, …) %d 该月日期, 数字形式 (00 … 31) %e 该月日期, 数字形式(0 … 31) %f 微秒 (000000 … 999999) %H 小时(00 … 23) %h 小时(01 … 12) %I 分钟 (0 … 59) %i 分钟,数字形式 (00 … 59) %j 一年中的天数 (001 … 366) %k 小时 (0 … 23) %l 小时 (1 … 12) %M 月份名称 (January … December) %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位数) %% ‘%’文字字符 */
例如:
(1)以【M%D%,Y%】格式显示 birth
mysql> select s_id, s_name, date_format(birth,'%M %d,%Y') birth from student;
+-------+-----------+------------------+
| s_id | s_name | birth |
+-------+-----------+------------------+
| S2011 | 张晓刚 | December 03,1999 |
| S2012 | 刘小青 | October 11,1999 |
| S2013 | 曹梦德 | February 13,1998 |
| S2014 | 刘艳 | June 24,1998 |
| S2015 | 刘艳 | July 06,1999 |
| S2016 | 刘若非 | August 31,2000 |
| S2021 | 董雯花 | July 30,2000 |
| S2022 | 周华建 | May 25,1999 |
| S2023 | 特朗普 | June 21,1999 |
| S2024 | 奥巴马 | October 17,2000 |
| S2025 | 周健华 | August 22,2000 |
| S2026 | 张学有 | July 06,1998 |
| S2031 | 李明博 | October 26,1999 |
| S2032 | 达芬奇 | December 31,1999 |
+-------+-----------+------------------+
14 rows in set (0.00 sec)
(2)以【%M %e,%Y】格式显示 birth
mysql> select s_id, s_name, date_format(birth,'%M %e,%Y') birth from student;
+-------+-----------+------------------+
| s_id | s_name | birth |
+-------+-----------+------------------+
| S2011 | 张晓刚 | December 3,1999 |
| S2012 | 刘小青 | October 11,1999 |
| S2013 | 曹梦德 | February 13,1998 |
| S2014 | 刘艳 | June 24,1998 |
| S2015 | 刘艳 | July 6,1999 |
| S2016 | 刘若非 | August 31,2000 |
| S2021 | 董雯花 | July 30,2000 |
| S2022 | 周华建 | May 25,1999 |
| S2023 | 特朗普 | June 21,1999 |
| S2024 | 奥巴马 | October 17,2000 |
| S2025 | 周健华 | August 22,2000 |
| S2026 | 张学有 | July 6,1998 |
| S2031 | 李明博 | October 26,1999 |
| S2032 | 达芬奇 | December 31,1999 |
+-------+-----------+------------------+
14 rows in set (0.00 sec)
(3)以【%M %D,%Y】格式显示 birth
mysql> select s_id, s_name, date_format(birth,'%M %D,%Y') birth from student;
+-------+-----------+--------------------+
| s_id | s_name | birth |
+-------+-----------+--------------------+
| S2011 | 张晓刚 | December 3rd,1999 |
| S2012 | 刘小青 | October 11th,1999 |
| S2013 | 曹梦德 | February 13th,1998 |
| S2014 | 刘艳 | June 24th,1998 |
| S2015 | 刘艳 | July 6th,1999 |
| S2016 | 刘若非 | August 31st,2000 |
| S2021 | 董雯花 | July 30th,2000 |
| S2022 | 周华建 | May 25th,1999 |
| S2023 | 特朗普 | June 21st,1999 |
| S2024 | 奥巴马 | October 17th,2000 |
| S2025 | 周健华 | August 22nd,2000 |
| S2026 | 张学有 | July 6th,1998 |
| S2031 | 李明博 | October 26th,1999 |
| S2032 | 达芬奇 | December 31st,1999 |
+-------+-----------+--------------------+
14 rows in set (0.00 sec)
(4)以【%a,%M %D,%Y】格式显示股票的发行日期
mysql> select s_id, s_name, date_format(birth,'%a, %M %D,%Y') birth from student;
+-------+-----------+-------------------------+
| s_id | s_name | birth |
+-------+-----------+-------------------------+
| S2011 | 张晓刚 | Fri, December 3rd,1999 |
| S2012 | 刘小青 | Mon, October 11th,1999 |
| S2013 | 曹梦德 | Fri, February 13th,1998 |
| S2014 | 刘艳 | Wed, June 24th,1998 |
| S2015 | 刘艳 | Tue, July 6th,1999 |
| S2016 | 刘若非 | Thu, August 31st,2000 |
| S2021 | 董雯花 | Sun, July 30th,2000 |
| S2022 | 周华建 | Tue, May 25th,1999 |
| S2023 | 特朗普 | Mon, June 21st,1999 |
| S2024 | 奥巴马 | Tue, October 17th,2000 |
| S2025 | 周健华 | Tue, August 22nd,2000 |
| S2026 | 张学有 | Mon, July 6th,1998 |
| S2031 | 李明博 | Tue, October 26th,1999 |
| S2032 | 达芬奇 | Fri, December 31st,1999 |
+-------+-----------+-------------------------+
14 rows in set (0.01 sec)
边栏推荐
- 《暗黑破坏神:不朽》手游如何多开搬砖及新手入门搬砖攻略
- Subarray with 19 and K
- 《nlp入门+实战:第四章:使用pytorch手动实现线性回归 》
- Test the concept of left shift and right shift
- 【RTOS训练营】环形缓冲区、AT指令、预习安排和晚课提问
- Openvino installation pit notes
- 如何才能修炼成一名不可替代的程序员?
- Download exclusively | Alibaba cloud maxcompute questions and answers to unlock SaaS mode cloud data warehouse in this electronic manual!
- Microwave oven rectifier diode cl01-12
- 换ip软件的用途很广及原理 动态IP更换的四种方法来保护网络隐私
猜你喜欢

游戏思考17:寻路引擎recast和detour学习二:recast导航网格生成流程及局限性

Game thinking 17: Road finding engine recast and detour learning II: recast navigation grid generation process and limitations

109. Upload local files using SAP ui5 fileuploader control

Using questpdf operation to generate PDF is faster and more efficient!

RHCE之at和crontab命令详解及chrony部署

web中间件日志分析脚本3.0(shell脚本)

动态IP地址是什么?为什么大家会推荐用动态ip代理?

RHCE之at和crontab命令详解及chrony部署

【RTOS训练营】站在更高的角度学习C语言

Lua基础语法
随机推荐
【RTOS训练营】GPIO知识和预习安排 + 晚课提问
We have no way out
AI knows everything: build and deploy sign language recognition system from 0
Amin's confession
How to choose social e-commerce model in the early stage? Taishan crowdfunding
RHCE之at和crontab命令详解及chrony部署
The bumpy road of referencing jar package json-path.jar in jmeter/idea
985 associate professors in Colleges and universities sun their annual salary, and the provident fund tops the monthly salary of ordinary people. Netizen: it is worthy of being in Shanghai
[RTOS training camp] learn C language from a higher perspective
If the native family is general, and the school is also a college on the rotten street, how to go on the next journey
Cf1494f delete the edges (Euler circuit)
Suddenly found an optimization artifact
ZK-Rollups工作原理
《nlp入门+实战:第四章:使用pytorch手动实现线性回归 》
The application and principle of changing IP software are very wide. Four methods of dynamic IP replacement are used to protect network privacy
How can MySQL just duplicate data?
Save unhappiness! My robot psychologist; KPI tracking of machine learning; Pytorch implementation of Yolo V7; Li Hang's new book "machine learning methods" open trial | showmeai Information Daily
[RTOS training camp] continue the program framework, tick interrupt supplement, preview, after-school homework and evening class questions
爬虫小操作
Some abnormal error reports and precautions of flowable (1)