SQL表的時(shí)間類內(nèi)置函數(shù)舉例詳解
我們?cè)谇懊娴奈恼轮幸呀?jīng)了解了關(guān)于表的增刪查改,今天我們來學(xué)習(xí)一些表的內(nèi)置函數(shù)。
1. 日期函數(shù)
下面這個(gè)表格是我們?cè)诮酉聛硪M(jìn)行講解的函數(shù),我們現(xiàn)在這里簡(jiǎn)單介紹了它們的名字以及他們的作用,這邊之所以這么設(shè)計(jì)是因?yàn)槲覀儗W(xué)到后面的話這些函數(shù)我們已經(jīng)了解了,這樣先寫在前面方便我們查閱。
| 函數(shù)名稱 | 描述 |
|---|---|
| current_date() | 當(dāng)前日期 |
| current_time() | 當(dāng)前時(shí)間 |
| current_timestamp() | 當(dāng)前時(shí)間戳 |
| date(datetime) | 返回 datetime 參數(shù)的日期部分 |
| date_add(date, interval d_value_type) | 在 date 中添加日期或時(shí)間interval 后的數(shù)值單位可以是:year minute second day |
| date_sub(date, interval d_value_type) | 在 date 中減去日期或時(shí)間interval 后的數(shù)值單位可以是:year minute second day |
| datediff(date1, date2) | 兩個(gè)日期的差,單位是天 |
| now() | 當(dāng)前日期時(shí)間 |
1.1 current_date()
這個(gè)函數(shù)的作用就是返回當(dāng)前輸出指令的時(shí)間。
語法:
select current_date();
一般來說在SQL里面使用函數(shù)我們直接在前面加一個(gè)select然后接函數(shù)就可以了。
我們看下面這張圖,就直接這樣寫那么就可以輸出當(dāng)前的年月日。

PS:在 SQL 中,current_date() 是一個(gè)函數(shù)(用于返回當(dāng)前日期),它本身不能直接作為表中列的數(shù)據(jù)類型。表中列的數(shù)據(jù)類型需要指定為具體的類型(如 DATE、DATETIME 等),而 current_date() 更像是一個(gè) “值生成工具”。
1.2 current_time()
這個(gè)函數(shù)的作用就是返回當(dāng)前的時(shí)間。
語法:
select current_time();
我們看下面這個(gè)圖片,當(dāng)我們使用這個(gè)函數(shù)的時(shí)候,它返回的是當(dāng)前的時(shí)分秒,

注意:我們不可以像下面這樣寫,不可以用這樣的方式直接顯示出年月日時(shí)分秒。

1.3 current_timestamp()
這個(gè)函數(shù)的作用是返回當(dāng)前時(shí)間戳。
語法:
select current_timestamp();
時(shí)間戳:指 1970 年 1 月 1 日 00:00:00 UTC,也稱為 “紀(jì)元時(shí)間”,開始經(jīng)過的秒數(shù)、毫秒數(shù)等形式來表示。
當(dāng)然時(shí)間戳并不是只有一串?dāng)?shù)字的形式,我們也可以把它轉(zhuǎn)化成時(shí)間,我們看下面這個(gè)圖片,但我們使用這個(gè)函數(shù)的時(shí)候返回的是當(dāng)前的年月日時(shí)分秒。

1.4 date(datetime)
這個(gè)函數(shù)的話就是可以返回括號(hào)里面的日期,簡(jiǎn)單來說就是用戶輸入年月日時(shí)分秒,然后這個(gè)函數(shù)返回里面的年月日。
語法:
select * date(輸入日期);
我們看下面這個(gè)圖片,就想下面這樣就可以返回日期。

我們也可以像下面這樣去把這個(gè)date當(dāng)做一個(gè)變量的類型。

1.5 date_add(date, interval d_value_type)
這個(gè)函數(shù)有點(diǎn)類似于上面的那個(gè)date,這個(gè)函數(shù)的話就是先輸入一個(gè)日期,,然后我們?cè)诘诙€(gè)輸入interval x day,那返回的結(jié)果就是在第一個(gè)日期基礎(chǔ)上加上x天。
語法:
select date_add('日期',interval x day);像下面這個(gè)張圖,我們這樣寫就可以在2025-10-30這個(gè)日期上加上10天。

1.6 date_sub(date, interval d_value_type)
這個(gè)函數(shù)的話正好與上面這一個(gè)函數(shù)相反,它的話是返回date-value的值。
語法:
select date_sub('日期',interval x day);我們看下面這個(gè)圖片,這樣我們就得到了比2025-10-30少10天的日期。

1.7 datediff(date1, date2)
這個(gè)函數(shù)也比較簡(jiǎn)單,就是返回date1-date2的天數(shù)。
語法:
select datediff('A日期','B日期');我們看下面這個(gè)圖片,這樣得到的結(jié)果就是A減去B的天數(shù)。

1.8 now()
這個(gè)函數(shù)的話就是返回輸入這行指令的年月日時(shí)分秒。
語法:
select now();
我們看下面這張圖片,這樣就可以返回現(xiàn)在的年月日時(shí)分秒。

總結(jié)
到此這篇關(guān)于SQL表的時(shí)間類內(nèi)置函數(shù)舉例詳解的文章就介紹到這了,更多相關(guān)SQL表時(shí)間類內(nèi)置函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 5.7升級(jí)8.0報(bào)異常:ONLY_FULL_GROUP_BY的問題解決
本文主要介紹了MySQL 5.7升級(jí)8.0報(bào)異常的問題解決,主要是ONLY_FULL_GROUP_BY,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
MySQL 外鍵約束和表關(guān)系相關(guān)總結(jié)
一個(gè)項(xiàng)目中如果將所有的數(shù)據(jù)都存放在一張表中是不合理的,比如一個(gè)員工信息,公司只有2個(gè)部門,但是員工有1億人,就意味著員工信息這張表中的部門字段的值需要重復(fù)存儲(chǔ),極大的浪費(fèi)資源,因此可以定義一個(gè)部門表和員工信息表進(jìn)行關(guān)聯(lián),而關(guān)聯(lián)的方式就是外鍵。2021-06-06
MyBatis中實(shí)現(xiàn)動(dòng)態(tài)SQL標(biāo)簽
動(dòng)態(tài)SQL是MyBatis的一項(xiàng)強(qiáng)大功能,它允許開發(fā)者根據(jù)條件動(dòng)態(tài)地生成SQL語句,本文主要介紹了MyBatis中實(shí)現(xiàn)動(dòng)態(tài)SQL標(biāo)簽,感興趣的可以可以了解一下2024-09-09
Linux下實(shí)現(xiàn)MySQL數(shù)據(jù)備份和恢復(fù)的命令使用全攻略
這篇文章主要介紹了Linux下實(shí)現(xiàn)MySQL數(shù)據(jù)備份和恢復(fù)的命令使用全攻略,包括使用Mysqldump和LVM快照以及xtrabackup三種方法,傾力推薦!需要的朋友可以參考下2015-11-11

