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-01
到9999-12-31
。 如果要存储超出此范围的日期值,则需要使用非时间数据类型,
例如整数,例如使用三列,分别存储年,月和日的数据。还需要创建存储函数来模拟MySQL提供的内置日期函数,这是不推荐的。
3、当严格模式被禁用时,MySQL将任何无效日期(例如2015-02-30
)转换为零日期值0000-00-00
。(我们都知道一年的2月份是没有30的)
SELECT NOW() AS cur_time;
三、要获取当前的系统日期,可以使用CURDATE()函数
SELECT CURDATE();
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';
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;
其他的相关日期的函数信息可以自己查询。