mysql函数:TO_DAYS() 将日期参数返回转换为天

语法:

TO_DAYS(date)

给定一个日期date,返回一个日期号码(自0年以来的天数)。

 

示例:

  1. mysql> SELECT TO_DAYS(171009);
  2. -> 736976
  3. mysql> SELECT TO_DAYS('2017-10-09');
  4. -> 736976

TO_DAYS()不适用于公历日历(1582)出现之前的值,因为它不考虑日历更改时丢失的日期。在1582年之前的日期(可能在其他地区的其他年份),此功能的结果不可靠。

 

注意:MySQL将日期中的两位数年份值转换为四位数形式 。例如, '2017-10-09'、 '17-10-09'和‘171009’被看作是相同的日期:

  1. mysql> SELECT TO_DAYS('2017-10-09'), TO_DAYS('17-10-09'),TO_DAYS('171009');
  2.         -> 736976, 736976,736976

 

TO_DAYS

 

TO_DAYS()拓展知识

在MySQL中,零日期被定义为 '0000-00-00'即使该日期本身被视为无效。这意味着,for '0000-00-00'和 '0000-01-01', TO_DAYS()返回这里显示的值:

  1. mysql> SELECT TO_DAYS('0000-00-00');
  2. +-----------------------+
  3. | to_days('0000-00-00') |
  4. +-----------------------+
  5. |                  NULL |
  6. +-----------------------+
  7. 1 row in set, 1 warning (0.00 sec)

 

  1. mysql> SHOW WARNINGS;
  2. +---------+------+----------------------------------------+
  3. Level   | Code | Message                                |
  4. +---------+------+----------------------------------------+
  5. | Warning | 1292 | Incorrect datetime value: '0000-00-00' |
  6. +---------+------+----------------------------------------+
  7. 1 row in set (0.00 sec)

 

  1. mysql> SELECT TO_DAYS('0000-01-01');
  2. +-----------------------+
  3. | to_days('0000-01-01') |
  4. +-----------------------+
  5. |                     1 |
  6. +-----------------------+
  7. 1 row in set (0.00 sec)

 

无论ALLOW_INVALID_DATESSQL服务器模式是否启用,都是如此 。

 

实战中经常用TO_DAYS()函数,例如:

1、mysql查询一天内的数据

2、mysql查询一周内的数据

3、mysql查询一个月内的数据

    A+
发布日期:2017年10月09日 22:41:33  所属分类:mysql函数
最后更新时间:2021-07-07 14:59:21
付杰
  • ¥ 98.0元
  • 市场价:198.0元
  • ¥ 99.0元
  • 市场价:199.0元
  • ¥ 1999.0元
  • 市场价:2999.0元
  • ¥ 199.0元
  • 市场价:199.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

  1. 头像 只要在一起 2

    mysql to_days传什么值?

    • 付杰 付杰

      @只要在一起 日期date格式的值,例如: ‘2018-03-20’、 ’18-03-20’和‘180320’;