91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL獲取當前時間的方式有哪些

發布時間:2023-02-22 17:41:56 來源:億速云 閱讀:129 作者:iii 欄目:開發技術

今天小編給大家分享一下MySQL獲取當前時間的方式有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    1 獲取當前完整時間

    1.1 now()函數

    select now();

    輸出:

    2023-02-15 10:46:17

    1.2 sysdate()函數

    select sysdate();

    輸出:

    2023-02-15 10:47:13

    1.3 current_timestamp或current_timestamp()

    current_timestamp和current_timestamp()函數的效果是一樣的,只不過一個是關鍵字,一個是函數。它們的效果和now()函數也是一樣的!

    select current_timestamp;
    select current_timestamp();

    輸出:

    2023-02-15 10:48:43

    2.獲取當前日期

    獲取當前日期的方式有多種,這里只介紹常用的幾種:

    2.1使用CURDATE()獲取(推薦)

    select CURDATE();

    輸出:

    2023-02-15

    2.2使用CURRENT_DATE獲取

    select current_date;

    輸出:

    2023-02-15

    2.3使用date()格式化

    select date(now());

    輸出:

    2023-02-15

    3.獲取當前短時間

    獲取當前短時間的方式有多種,這里只介紹常用的幾種:

    3.1使用CURTIME()獲取(推薦)

    select CURTIME();

    輸出:

    10:51:42

    3.2使用CURRENT_TIME獲取

    select CURRENT_TIME;

    輸出:

    10:52:26

    4.函數now()和sysdate()的區別

    雖然兩者都可以獲取當前的時間,但它們獲取的機制是不同的:

    now()取的是語句開始執行的時間

    sysdate()取的是動態的實時時間

    這么說不明白?先看下面的示例: 

    說明:先查詢NOW()和SYSDATE(),然后sleep3秒,再查詢NOW()和SYSDATE()

    MySQL獲取當前時間的方式有哪些

    分析結果可得:now()值不發生改變,sysdate()時間在sleep3秒后發生改變。也就是說now()獲取的是sql開始執行的時間,盡管中間出現了其他的操作,都不會影響其值。而sysdate()會影響。

    補充:mysql獲取當前時間+1天_mysql獲取當前時間,前一天,后一天

    錯誤的sql語句

    eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < CURDATE()+1;

    雖然 獲取到的數量在測試環境中是正確的,但在發布到線上的時候,發現有的時候數據是查詢不到,數量為0,因此,就上網查詢是不是CURDATE()+1不規范,發現mysql官網也是不承認時間直接相加減的,雖然會將當前時間轉換為20160802,這時候就是比較這一串字符,mysql官網是不承認用這種方式比較時間大小的,因此:

    正確的sql語句

    eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < DATE_SUB(CURDATE(),INTERVAL -1 DAY);

    此時,就用到了DATE_SUB()這個函數,用法舉例:

    今天是2016年08月01日。

    date_sub('2016-08-01',interval 1 day) 表示 2016-07-31
    date_sub('2016-08-01',interval 0 day) 表示 2016-08-01
    date_sub('2016-08-01',interval -1 day) 表示 2016-08-02
    date_sub(curdate(),interval 1 day) 表示 2016-07-31
    date_sub(curdate(),interval -1 day) 2016-08-02
    date_sub(curdate(),interval 1 month) 表示 2016-07-01
    date_sub(curdate(),interval -1 month) 表示 2016-09-01
    date_sub(curdate(),interval 1 year) 表示 2015-08-01
    date_sub(curdate(),interval -1 year) 表示 2017-08-01

    備注:

    SELECT NOW(),CURDATE(),CURTIME()

    結果類似:

    NOW()CURDATE()CURTIME()

    2016-08-01 16:25:46

    2016-08-01

    16:25:46

    以上就是“MySQL獲取當前時間的方式有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    班玛县| 巧家县| 普兰店市| 九寨沟县| 嵩明县| 民县| 平和县| 临江市| 房产| 婺源县| 焉耆| 运城市| 崇左市| 德惠市| 松滋市| 调兵山市| 南部县| 清原| 邹平县| 四川省| 子长县| 巴楚县| 屯门区| 双辽市| 桦南县| 方山县| 墨竹工卡县| 尖扎县| 四会市| 石狮市| 新营市| 安宁市| 驻马店市| 江山市| 综艺| 弋阳县| 阜康市| 南平市| 错那县| 马边| 平顺县|