• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 知识库 知识库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

2022年01月05日发布MySQL日期函数

武飞扬头像
xhjyxxw
帮助1

知行礼动

大家好,今日小科来聊聊一篇关于2022年01月05日整理发布:MySQL介绍日期函数的文章,现在让我们往下看看吧!

日期函数类型:

(1)获取当前日期和时间的函数(2)获取当前日期和时间的函数(3)UNIX时间戳函数(4)返回UTC日期和时间的函数(5)获取月(日期)和月名(日期)的函数(6)获取日名(d)和day fweek(d)和weekday(d)的函数(7)周(d)和day fy ear(d)的函数(8)day fy ear(d)和day fy month(d)的函数(9)年、季度、小时、分钟和秒的函数。(10)函数提取(从日期开始键入)(11)转换时间和秒的函数(12)计算日期和时间的函数(13)格式化日期和时间的函数。

(1)获取当前日期的函数和获取当前时间的函数1.curdate和current_date ['kju] n .使用date函数获取当前日期的系统SQL语句如下:

mysql选择curate,current_date,curate 0;----| curate | current _ date | curate 0 |----| 2019-08-18 | 2019-08-18 | 2019 08 18 |-集合中的1行(0.00秒)曲率2.curtime和current_time ['time] vt。使用时间函数获取系统的当前时间。该SQL语句如下:

mysql选择curtime,current_time,curti me 0;----| curit me | current _ time | curit me 0 |----| 173:07 | 7:08336007 | 170807 |-set(0.00秒)curit 0(2)中的1行用于获取当前日期和时间current_timestamp、localtime、now和sysdate的函数都具有返回当前日期和时间值的相同功能。【示例】使用日期时间函数获取当前系统时间和日期的SQL语句如下:

mysql选择current _时间戳,

本地时间,

-现在,

-sysdate;----| current _ timestamp | local time | now | sysdate |----| 2019-08-18 19:10:05 | 2019-08-18 19:05 | 2019-08-18 193:05 | 2019-08-18 19:10:005 | |如果是无参数调用,则以无符号整数形式返回unix时间戳(GMT后的秒数,GMT为1970.1.1 GMT)。日期可以是日期字符串日期时间字符串、时间戳或YY[YY]MMDD当地时间格式的数字。1.unix_timestamp(date)【示例】使用unix_timestamp函数以unix格式返回时间戳。该SQL语句如下:

mysql选择unix_timestamp,unix_timestamp(现在),现在;-

---------- ----------------------- --------------------- | unix_timestamp | unix_timestamp(now) | now | ------------------ ----------------------- --------------------- | 1566127316 | 1566127316 | 2019-08-18 19:21:56 | ------------------ ----------------------- --------------------- 1 row in set (0.05 sec)from_unixtime函数吧unix时间戳转换为普通格式的时间,与unix_timestamp(date)函数互为反函数。

2.from_unixtime(date) 【例】使用from_unixtime函数将unix时间戳转换为普通格式时间,SQL语句如下:

mysql> select from_unixtime('1566127316'); ----------------------------- | from_unixtime('1566127316') | ----------------------------- | 2019-08-18 19:21:56.000000 | ----------------------------- 1 row in set (0.00 sec)(4)返回UTC日期的函数和返回UTC时间的函数。

1.UTC_DATE 【例】使用utc_date函数返回当前UTC日期值,SQL语句如下:

mysql> select utc_date,utc_date 0; ------------ -------------- | utc_date | utc_date 0 | ------------ -------------- | 2019-08-18 | 20190818 | ------------ -------------- 1 row in set (0.05 sec)

2.UTC_TIME 【例】使用UTC_TIME函数返回当前UTC时间值,SQL语句如下:

mysql> select utc_time,utc_time 0; ------------ -------------- | utc_time | utc_time 0 | ------------ -------------- | 11:32:27 | 113227 | ------------ -------------- 1 row in set (0.00 sec)(5)获取月份的函数month(date)和monthname(date)

1.month(date) 【例】使用month函数返回指定日期中的月份,SQL语句如下:

mysql> select month('2019-08-18'); --------------------- | month('2019-08-18') | --------------------- | 8 | --------------------- 1 row in set (0.00 sec)

2.monthname(date) 【例】使用monthname函数返回指定日期中的月份名称,SQL语句如下:

mysql> select monthname('2019-08-18'); ------------------------- | monthname('2019-08-18') | ------------------------- | August | ------------------------- 1 row in set (0.00 sec)(6)获取星期的函数dayname(d)、dayofweek(d)和weekday(d)

1.dayname(d) 【例】使用dayname函数返回指定日期的工作日名称,SQL语句如下:

mysql> select dayname('2019-08-18'); ----------------------- | dayname('2019-08-18') | ----------------------- | Sunday | ----------------------- 1 row in set (0.00 sec)

2.dayofweek(d) 【例】使用dayofweek函数返回日期对应的周索引,SQL语句如下:

mysql> select dayofweek('2019-08-18'); ------------------------- | dayofweek('2019-08-18') | ------------------------- | 1 | ------------------------- 1 row in set (0.00 sec)

3.weekday(d)

weekday(d)返回d对应的工作日索引:0代表周一1代代表周二…6代表周日。

【例】使用weekday函数返回日期对应的工作日索引,SQL语句如下:

mysql> select weekday('2019-08-18 19:40:00'), -> weekday('2019-08-18'); -------------------------------- ----------------------- | weekday('2019-08-18 19:40:00') | weekday('2019-08-18') | -------------------------------- ----------------------- | 6 | 6 | -------------------------------- ----------------------- 1 row in set (0.00 sec)(7)获取星期数的函数week(d)和dayofyear(d)week(d)计算日期d是一年中第几周双参形式允许指定该星期是否起始于周日或周一若Mode参数被忽略使用default_week_format系统自变量的值。

1.week(d) 【例】使用week函数查询指定日期是一年中的第几周SQL语句如下:

mysql> select week('2019-08-18'),week('2019-08-18',0),week('2019-08-18',1); -------------------- ---------------------- ---------------------- | week('2019-08-18') | week('2019-08-18',0) | week('2019-08-18',1) | -------------------- ---------------------- ---------------------- | 33 | 33 | 33 | -------------------- ---------------------- ---------------------- 1 row in set (0.05 sec

2.weekofyear(d) 【例】使用weekofyear查询指定日期是一年中的第几周SQL语句如下:

mysql> select week('2019-08-18',3),weekofyear('2019-08-18'); ---------------------- -------------------------- | week('2019-08-18',3) | weekofyear('2019-08-18') | ---------------------- -------------------------- | 33 | 33 | ---------------------- -------------------------- 1 row in set (0.05 sec)(8)获取天数的函数dayofyear(d)和dayofmonth(d)

1.dayofyear 【例】使用dayofyear函数返回指定日期在一年中的位置SQL语句如下:

mysql> select dayofyear('2019-08-18'); ------------------------- | dayofyear('2019-08-18') | ------------------------- | 230 | ------------------------- 1 row in set (0.00 sec)

2.dayofmonth 【例】使用dayofmonth函数返回指定日期在一个月中的位置SQL语句如下;

mysql> select dayofmonth('2019-08-18'); -------------------------- | dayofmonth('2019-08-18') | -------------------------- | 18 | -------------------------- 1 row in set (0.00 sec)(9)获取年份、季度、小时、分钟和秒钟的函数。

1.YEAR(date) 【例】使用year函数返回指定日期对应的年份,SQL语句如下:

mysql> select year('19-08-18'),year('98-02-19'); ------------------ ------------------ | year('19-08-18') | year('98-02-19') | ------------------ ------------------ | 2019 | 1998 | ------------------ ------------------ 1 row in set (0.05 sec)

2.QUARTER(date) 【例】使用quarter函数返回指定日期对应的季度,SQL语句如下:

mysql> select quarter('19-08-18'); --------------------- | quarter('19-08-18') | --------------------- | 3 | --------------------- 1 row in set (0.00 sec)

3.MINUTE(time) 【例】使用minute函数返回指定时间的分钟值SQL语句如下:

mysql> select minute('19-08-18 20:07:00'); ----------------------------- | minute('19-08-18 20:07:00') | ----------------------------- | 7 | ----------------------------- 1 row in set (0.00 sec)

4.SECOND(time) 【例】使用second函数返回指定时间的秒值SQL语句如下:

mysql> select second('20:07:00'); -------------------- | second('20:07:00') | -------------------- | 0 | -------------------- 1 row in set (0.00 sec)(10)获取日期的指定值的函数extract(type from date)

【例】使用extract(type from date)函数提取日期或时间值。

mysql> select extract(year from '2019-08-18') as col1, -> extract(year_month from '2019-08-18 20:46:01') as col2, -> extract(day_minute from '2019-08-18 20:46:01') as col3; ------ -------- -------- | col1 | col2 | col3 | ------ -------- -------- | 2019 | 201908 | 182046 | ------ -------- -------- 1 row in set (0.00 sec)(11)时间和秒钟转换的函数

1.time_to_sec(time)

time_to_sec(time)返回已经转化为秒的time参数。转换公式为:小时x3600 分钟*60 秒。

【例】使用time_to_sec函数将时间值转换为秒值。

mysql> select time_to_sec('20:34:00'); ------------------------- | time_to_sec('20:34:00') | ------------------------- | 74040 | ------------------------- 1 row in set (0.00 sec)

2.sec_to_time(seconds)

sec_to_time函数返回值加上0值之后变成了小数值。time_to_sec正好和sec_to_time互为反函数。

【例】使用sec_to_time函数将秒值转换为时间格式,SQL语句如下;

mysql> select sec_to_time(2345),sec_to_time(2345) 0, -> time_to_sec('20:36:00'),sec_to_time('74040'); ------------------- --------------------- ------------------------- ---------------------- | sec_to_time(2345) | sec_to_time(2345) 0 | time_to_sec('20:36:00') | sec_to_time('74040') | ------------------- --------------------- ------------------------- ---------------------- | 00:39:05 | 3905 | 74160 | 20:34:00.000000 | ------------------- --------------------- ------------------------- ---------------------- 1 row in set (0.05 sec)(12)计算日期和时间的函数。

MySQL中计算日期和时间的格式: 1.date_add(date,interval expr type)和adddate(date,interval expr type)两个函数的作用相同,执行日期的加运算:

【例】使用date_add和adddate函数执行日期加操作,SQL语句如下:

mysql> select date_add('2019-08-18 23:59:59',interval 1 second) as col1, -> adddate('2019-08-18 23:59:59',interval 1 second) as col2, -> date_add('2019-08-18 23:59:59',interval '1:1' minute_second) as col3; --------------------- --------------------- --------------------- | col1 | col2 | col3 | --------------------- --------------------- --------------------- | 2019-08-19 00:00:00 | 2019-08-19 00:00:00 | 2019-08-19 00:01:00 | --------------------- --------------------- --------------------- 1 row in set (0.05 sec)

2.date_sub(date,interval expr type)和subdate(date,interval expr type)两个函数作用相同执行日期的减运算:

【例】使用date_sub和subdate函数执行日期减操作SQL语句如下:

mysql> select date_sub('2019-08-18',interval 31 day) as col1, -> subdate('2019-08-18',interval 31 day) as col2, -> date_sub('2019-08-18 21:15:10',interval '0 0:1:1' day_second) as col3; ------------ ------------ --------------------- | col1 | col2 | col3 | ------------ ------------ --------------------- | 2019-07-18 | 2019-07-18 | 2019-08-18 21:14:09 | ------------ ------------ --------------------- 1 row in set (0.00 sec)

3.addtime(date,expr)函数将expr值添加到date,并返回修改后的值,date是一个日期或者日期时间表达式,而expr是一个时间表达式。 【例】使用addtime进行时间加操作SQL语句如下;

mysql> select addtime('2019-08-18 21:59:59','1:1:1'),addtime('02:02:02','02:00:00'); ---------------------------------------- -------------------------------- | addtime('2019-08-18 21:59:59','1:1:1') | addtime('02:02:02','02:00:00') | ---------------------------------------- -------------------------------- | 2019-08-18 23:01:00 | 04:02:02 | ---------------------------------------- -------------------------------- 1 row in set (0.05 sec)

4.subtime(date,expr)函数将date减去expr值并返回修改后的值date是一个日期或者日期时间表达式expr是一个时间表达式。 【例】使用subtime函数执行减操作SQL语句如下:

mysql> select subtime('2019-08-18 21:59:59','1:1:1'),subtime('02:02:02','02:00:00'); ---------------------------------------- -------------------------------- | subtime('2019-08-18 21:59:59','1:1:1') | subtime('02:02:02','02:00:00') | ---------------------------------------- -------------------------------- | 2019-08-18 20:58:58 | 00:02:02 | ---------------------------------------- -------------------------------- 1 row in set (0.00 sec)

5.datediff(date1,date2)返回起始时间date1和结束时间date2之间的天数date1和date2为日期或date-and-time表达式。计算中只用到这些值的日期部分。 【例】使用datediff函数计算两个日期之间的间隔天数,SQL语句如下;

mysql> select datediff('2019-08-18 21:59:59','2018-07-18') as col1, -> datediff('2019-08-18 22:00:00','2019-08-20') as col2; ------ ------ | col1 | col2 | ------ ------ | 396 | -2 | ------ ------ 1 row in set (0.00 sec)(13)将日期和时间格式化的函数。

DATE_FORMAT时间日期格式: 1.date_format 【例】使用date_format函数格式化输出日期和时间值,SQL语句如下:

mysql> select date_format('2019-08-18 23:33:00','%w %m %y') as col1, -> date_format('2019-08-18 23:33:00','%D %y %a %d %m %b %j') as col2; --------- --------------------------- | col1 | col2 | --------- --------------------------- | 0 08 19 | 18th 19 Sun 18 08 Aug 230 | --------- --------------------------- 1 row in set (0.05 sec)

2.time_format 【例】使用time_format(time,format)函数格式化输入时间值,SQL语句如下:

mysql> select time_format('23:39:30','%H %k %h %I %l'); ------------------------------------------ | time_format('23:39:30','%H %k %h %I %l') | ------------------------------------------ | 23 23 11 11 11 | ------------------------------------------ 1 row in set (0.00 sec)

3.get_format

get_format返回的格式字符串: 【例】使用get_format函数显示不同格式化类型下的格式字符串,SQL语句如下:

mysql> select get_format(date,'eur'),get_format(date,'usa'); ------------------------ ------------------------ | get_format(date,'eur') | get_format(date,'usa') | ------------------------ ------------------------ | %d.%m.%Y | %m.%d.%Y | ------------------------ ------------------------ 1 row in set (0.05 sec)

【例】在date_format函数中,使用get_format函数返回的显示格式字符串来显示指定的日期值,SQL语句如下:

mysql> select date_format('2019-08-19 23:41:30',get_format(date,'usa')); ----------------------------------------------------------- | date_format('2019-08-19 23:41:30',get_format(date,'usa')) | ----------------------------------------------------------- | 08.19.2019 | ----------------------------------------------------------- 1 row in set (0.00 sec)

这篇好文章是转载于:知行礼动

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 知行礼动
  • 本文地址: /news/detail/tanhbggahi