MySQL DATE类型(来自易百)

Posted Yuezc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL DATE类型(来自易百)相关的知识,希望对你有一定的参考价值。

我们通常在与数据打交道时,一般都会遇到日期这个点。mysql中的日期格式为 date()。

MySQL DATE数据类型简介:

1、MySQL DATE是用于管理日期值的五种时间数据类型之一。 MySQL使用yyyy-mm-dd格式存储日期值。此格式是固定的,不可能更改它

例如,可能有些人喜欢使用mm-dd-yyyy格式,但是遗憾,不能直接使用。 一个代替的办法:遵循标准日期格式,并使用DATE_FORMAT函数按所需格式来格式化日期。

2、MySQL使用3个字节来存储DATE值。DATE值的范围为1000-01-019999-12-31。 如果要存储超出此范围的日期值,则需要使用非时间数据类型,

例如整数,例如使用三列,分别存储年,月和日的数据。还需要创建存储函数来模拟MySQL提供的内置日期函数,这是不推荐的。

3、当严格模式被禁用时,MySQL将任何无效日期(例如2015-02-30)转换为零日期值0000-00-00。(我们都知道一年的2月份是没有30的)

一、要获取当前日期和时间,请使用NOW()函数。
SELECT NOW() AS cur_time;
二、要获取DATETIME值的日期部分,可以使用DATE()函数。
SELECT DATE(NOW()) AS cur_date;
三、要获取当前的系统日期,可以使用CURDATE()函数
SELECT CURDATE();
四、要格式化日期值,可以使用DATE_FORMAT函数。以下语句使用日期格式模式%m/%d/%Y,格式化日期为:mm/dd/yyyy
SELECT DATE_FORMAT(NOW(), %d/%m/%Y) AS today;

五、要计算两个日期值之间的天数,可以使用DATEDIFF函数:

SELECT DATEDIFF(2015-11-04,2014-11-04) days;

六、要添加几天,几周,几个月,几年等到一个日期值,可以使用DATE_ADD函数:

SELECT 
    2018-01-01 start,
    DATE_ADD(2018-01-01, INTERVAL 1 DAY) one day later,
    DATE_ADD(2018-01-01, INTERVAL 1 WEEK) one week later,
    DATE_ADD(2018-01-01, INTERVAL 1 MONTH) one month later,
    DATE_ADD(2018-01-01, INTERVAL 1 YEAR) one year later;

七、可以使用DATE_SUB函数从日期中减去间隔值:

SELECT 
    2018-01-01 start,
    DATE_SUB(2018-01-01, INTERVAL 1 DAY) one day before,
    DATE_SUB(2018-01-01, INTERVAL 1 WEEK) one week before,
    DATE_SUB(2018-01-01, INTERVAL 1 MONTH) one month before,
    DATE_SUB(2018-01-01, INTERVAL 1 YEAR) one year before;

八、如果要获取日期值的日期,月份,季度和年份,可以使用相应的函数:DAY,MONTH,QUARTER和YEAR,如下所示:

SELECT DAY(2020-01-04) day,
       MONTH(2020-01-04) month,
       QUARTER(2020-01-04) quarter,
       YEAR(2020-01-04) year;

九、如果要获得周相关信息。可以用WEEK函数返回周数,WEEKDAY函数返回工作日索引,WEEKOFYEAR函数返回周日历。

SELECT 
    WEEKDAY(2020-01-04) weekday,
    WEEK(2020-01-04) week,
    WEEKOFYEAR(2020-01-04) weekofyear;

其他的相关日期的函数信息可以自己查询。

以上是关于MySQL DATE类型(来自易百)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 入坑

bootspring???????????????Date??????????????????????????????????????????????????????????????????(代码片段

带有神秘附加字符的 Javascript Date getTime() 代码片段

Java代码中Date类型插入到mysql数据库中数值不一致

Hibernate - 来自数据库的自动 created_date 和 updated_date

Mybatis与Spring集成(易百教程)