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;

其他的相關日期的函數信息可以自己查詢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM