版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、介紹一下mysql的日期和時(shí)間函數(shù)這里是一個(gè)使用日期函數(shù)的例子。下面的查詢(xún)選擇所有 date_col 值在最后 30 天內(nèi)的記錄。mysql select something from tbl_namewhereto_days(now()-to_days(date_col) select dayofweek( 1998-02-03 );- 3weekday(date)返回 date 的星期索引(0 = monday, 1 = tuesday,6 = sunday) : mysql select weekday- 1998-02-0322:23:00 );- 1mysql select week
2、day(1997-11-05 );- 2dayofmonth(date) 返回 date 是一月中的第 幾天,范圍為 1 至u 31 : mysql select dayofmonth( 1998-02-03 );- 3dayofyear(date)返回 date 是一年中的第幾 天,范圍為 1 至u 366 : mysql select dayofyear( 1998-02-03 );- 34month(date) 返回 date 中的月份,范圍為 1 至u12 : mysql select month( 1998-02-03);-2dayname(date) 返回 date 的星期名:my
3、sql select dayname( “1998-02-05 );- thursday monthname(date) 返 回 date 的 月 份名: mysql select monthname( “1998-02-05 );- february quarter(date) 返回date 在一年中的季度,范圍為 1至u 4: mysql select quartern 98-04-01 );- 2week(date)week(date,first) 對(duì)于星期日是一周中的第一天的場(chǎng)合,如果函數(shù)只有一個(gè)參數(shù)調(diào)用,返回 date為一年的第幾周,返回值范圍為0到53 (是的,可能有第53 周的開(kāi)
4、始)。兩個(gè)參數(shù)形式的 week()允許你指定一周是否以星期日 或星期一開(kāi)始,以及返回值為 0-53還是1-52。這里的一個(gè)表顯示 第二個(gè)參數(shù)是如何工作的:值 含義0 一周以星期日開(kāi)始,返回值范圍為0-531 一周以星期一開(kāi)始,返回值范圍為0-532 一周以星期日開(kāi)始,返回值范圍為1-533 一周以星期一開(kāi)始,返回值范圍為 1-53 (iso 8601)mysql select week( 1998-02-20 );- 7mysql select week( 1998-02-20 ;0);- 7mysql select week( 1998-02-20 ,1);- 8mysql select w
5、eek(1998-12-31 /);- 53 注意,在版本 4.0 中,week(#,0)被更改為 匹配usa歷法。注意,如果一周是上一年的最后一周,當(dāng)你沒(méi)有 使用2或3做為可選參數(shù)時(shí),mysql將返回0 : mysql select year( 2000-01-01 ), week( 2000-01-01 ;0);- 2000, 0mysql select week( 2000-01-01 ;- 52 你可能會(huì)爭(zhēng)辯說(shuō),當(dāng)給定的 日期值實(shí)際上是1999年的第 52周的一部分時(shí), mysql對(duì)week()函數(shù)應(yīng)該返回52。我們決定返回 0 ,是因?yàn)槲覀兿M?函數(shù)返回“在指定年份中是第幾周。當(dāng)與
6、其它的提取日期值中的月 日值的函數(shù)結(jié)合使用時(shí),這使得 week()函數(shù)的用法可靠。如果你 更希望能得到恰當(dāng)?shù)哪?周值,那么你應(yīng)該使用參數(shù) 2或3做為可 選參數(shù),或者使用函數(shù) yearweek() : mysql select yearweek( 2000-01-01 );-199952mysql selectmid(yearweek( 2000-01-01 ),5,2);- 52year(date)返回 date 的年份,范圍為 1000 至 u 9999: mysql select year( 98-02-03 );- 1998yearweek(date)yearweek(date,firs
7、t)返回 一個(gè)日期值是的哪一年的哪一周。第二個(gè)參數(shù)的形式與作用完全與 week()的第二個(gè)參數(shù)一致。注意,對(duì)于給定的日期參數(shù)是一年的第 一周或最后一周的,返回的年份值可能與日期參數(shù)給出的年份不一 致:mysql select yearweek( 1987-01-01 );- 198653 注意, 對(duì)于可選參數(shù)0或1,周值的返回值不同于 week()函數(shù)所返回值 (0), week()根據(jù)給定的年語(yǔ)境返回周值。hour(time)返回time 的小時(shí)值,范圍為 0 至u 23:mysql select hour( 10:05:03 );- 10minute(time) 返回time 的分鐘值,范
8、圍為0至u 59: mysql select minute( 98-02-03 10:05:03 );- 5second(time) 返回 time 的秒值,范圍為 0 至u 59 : mysql select second( 10:05:03 );- 3period_add(p,n)增力口 n 個(gè)月到時(shí)期 p(格式為 yymm 或yyyymm)中。以 yyyymm 格式返回值。 注意,期間 參數(shù) p 不是 一個(gè)日期值:mysql select period_add(9801,2);- 199803period_diff(p1,p2)返回時(shí)期 p1和 p2之間的月數(shù)。 p1和 p2應(yīng)該以 yy
9、mm 或 yyyymm 指定。 注意,時(shí)期參數(shù) p1和p2不是 日期值:mysql select period_diff(9802,199703);- 11date_add(date,interval exprtype)date_sub(date,intervalexprexprtype)adddate(date,intervaltype)subdate(date,interval expr type)這些函數(shù)執(zhí)行日期的算術(shù)運(yùn)算。adddate() 和 subdate()分另u 是 date_add()和date_sub()的同義詞。 在 mysql 3.23中,如果表達(dá)式的右邊 是一個(gè)日期值
10、或一個(gè)日期時(shí)間型字段,你可以使用+和-代替date_add()和 date_sub()(示例如下)。參數(shù) date 是一個(gè) datetime或date值,指定一個(gè)日期的開(kāi)始。expr是一個(gè)表達(dá) 式,指定從開(kāi)始日期上增加還是減去間隔值。expr是一個(gè)字符串;它可以以一個(gè)“-”領(lǐng)頭表示一個(gè)負(fù)的間隔值。type是一個(gè)關(guān)鍵詞, 它標(biāo)志著表達(dá)式以何格式被解釋。下表顯示type和expr參數(shù)是如何關(guān)聯(lián)的: type 值 expr 期望的格式second secondsminute minuteshour hoursday daysmonthmonthsyearyearsminute_second“minu
11、tes:seconds hour_minute“hours:minutes ”day_hour “ days hours year_month “years-monthshour_second“ hours:minutes:seconds day_minute “ dayshours:minutes day_second “ days hours:minutes:seconds ” 在 expr 的格式中,mysql 允許 任何字符作為定界符。表中所顯示的是建議的定界字符。如果 date 參數(shù)是一個(gè)date值,并且計(jì)算的間隔僅僅有 year、month 和 day部分(沒(méi)有時(shí)間部分),那么返回
12、值也是一個(gè) date值。否則返 回值是一個(gè) datetime 值:mysql select “ 1997-12-3123:59:59interval 1 second;-, 1998-01-0100:00:00mysql select interval 1 day +“1997-12-31 ;-1998-01-01mysql select “ 1998-01-01 - interval 1 second;-, 1997-12-3123:59:59mysql selectdate_add( “1997-12-31 23:59:59 ,- interval 1 second);-, 1998-01
13、-01 00:00:00mysql select date_add( “1997-12-31 23:59:59 ,- interval 1 day);- 1998-01-01 23:59:59mysqlselect date_add( “1997-12-31 23:59:59 ,- interval 1:1 minute_second);- 1998-01-0100:01:00mysql selectdate_sub( “ 1998-01-0100:00:00 ,- interval 1 1:1:1 day_second);- 1997-12-3022:58:59mysql selectdat
14、e_add( “ 1998-01-0100:00:00 ,- interval -1 10day_hour);- 1997-12-3014:00:00mysql selectdate_sub( “ 1998-01-02 , interval 31 day);- 1997-12-02 如 果你指定了一個(gè)太短的間隔值(沒(méi)有包括type關(guān)鍵詞所期望的所有 間隔部分),mysql假設(shè)你遺漏了間隔值的最左邊部分。例如,如 果指定一個(gè)type為day_second ,那么expr值被期望包含天、 小時(shí)、分鐘和秒部分。如果你象1:10樣指定一個(gè)值,mysql假 設(shè)天和小時(shí)部分被遺漏了,指定的值代表分鐘和秒。
15、換句話(huà)說(shuō),”1:10 day_second 被解釋為等價(jià)于 “1:10 minute_second。這類(lèi) 似于mysql解釋time值為經(jīng)過(guò)的時(shí)間而不是一天的時(shí)刻。注 意,如果依著包含一個(gè)時(shí)間部分的間隔增加或減少一個(gè)日期值,該日 期值將被自動(dòng)地轉(zhuǎn)換到一個(gè)日期時(shí)間值:mysql selectdate_add( “ 1999-01-01 , interval 1day);-1999-01-02mysql select date_add( “ 1999-01-01 ,interval 1 hour);- 1999-01-0101:00:00 如果你使用了確定不正確的日期,返回結(jié)果將是 null。如果
16、你增加month、year_month 或year,并且結(jié)果日期的天比新月份的最大天數(shù) 還大,那么它將被調(diào)整到新月份的最大天數(shù):mysql selectdate_add( 1998-01-30 ; interval 1 month);- 1998-02-28 注意,上面的例子中,單詞interval和關(guān)鍵詞type是不區(qū)分字 母大小寫(xiě)的。extract(type from date)extract()函數(shù)使用與 date_add()或date_sub() 一致的間隔類(lèi)型,但是它用于指定從 日期中提取的部分,而不是進(jìn)行日期算術(shù)運(yùn)算。mysql selectextract(year from “1
17、999-07-02 );- 1999mysql select extract(year_month from “ 1999-07-0201:02:03 );-199907mysql select extract(day_minute from“1999-07-02 01:02:03 );- 20102to_days(date)給出一個(gè)日期 date ,返回一個(gè)天數(shù)(從 0年開(kāi)始的天數(shù)):mysql select to_days(950501);-728779mysql select to_days(1997-10-07 );- 729669to_days()無(wú)意于使用先于格里高里歷 法(即現(xiàn)行
18、的陽(yáng)歷)(1582)出現(xiàn)的值,因?yàn)樗豢紤]當(dāng)歷法改變時(shí)所遺 失的天數(shù)。from_days(n)給出一個(gè)天數(shù)n ,返回一個(gè)date值: mysql select from_days(729669);-1997-10-07from_days()無(wú)意于使用先于格里高里歷法(1582)出現(xiàn)的值,因?yàn)?它不考慮當(dāng)歷法改變時(shí)所遺失的天數(shù)。date_format(date,format) 依口k format字符串格式化date值。下面的修飾符可被用于format 字符串中: 修飾符 含義m 月的名字 (january.december)%w星期的名字(sunday.saturday)%d 有英文后綴的某月
19、的第幾天(0th, 1st, 2nd, 3rd, etc.)%y 年份,數(shù)字 的,4位丫年份,數(shù)字的,2位x周值的年份,星期日是一個(gè)星 期的第一天,數(shù)字的,4位,與v 一同使用乂周值的年份, 星期一是一個(gè)星期的第一天,數(shù)字的,4位,與v 一同使用2 縮寫(xiě)的星期名(sun.sat)%d月份中的天數(shù),數(shù)字的(00.31)%e月 份中的天數(shù),數(shù)字的(0.31)%m月,數(shù)字的(00.12)%c月,數(shù)字 的(0.12)%b 縮寫(xiě)的月份名(jan.dec)%j 一年中的天數(shù) (001.366)%h 小時(shí)(00.23)%k 小時(shí)(0.23)%h 小時(shí)(01.12)%i 小時(shí)(01.12)%l小時(shí)(1.12)
20、%i分鐘,數(shù)字的(00.59)%r時(shí)間, 12 小時(shí)(hh:mm:ss apm)%t 時(shí)間,24 小時(shí)(hh:mm:ss)%s 秒 (00.59)%s 秒(00.59)%p am 或 pm%w 一周中的天數(shù) (0=sunday.6=saturday)%u 星期(00.53),星期日是一個(gè)星期的 第一天%u星期(00.53),星期一是一個(gè)星期的第一天%v星期(01.53),星期日是一個(gè)星期的第一天。與 x 一起使用丫星 期(01.53),星期一是一個(gè)星期的第一天。與x 一起使用% 一個(gè)字母 “”所有其它的字符不經(jīng)過(guò)解釋?zhuān)苯訌?fù)制到結(jié)果中: mysql select date_format( 19
21、97-10-0422:23:00 ,%w %m %y );-saturday october 1997 mysql selectdate_format( 1997-10-0422:23:00 : %h:%i:%s );- 22:23:00 mysql select date_format( 1997-10-0422:23:00 , %d %y %a %d %m %b %j );- 4th 97 sat 04 10 oct 277 mysql select date_format( 1997-10-04 22:23:00%h %k %i %r %t %s %w );- 22 22 10 10:2
22、3:00 pm 22:23:00 00 6 mysql select date_format( 1999-01-01 ;%x %v );- 1998 52 在mysql 3.23 中,在格式修飾符前 需要字符%。在更早的mysql版本中,%是可選的。月份 與天修飾符的范圍從零開(kāi)始的原因是,在mysql 3.23中,它允許存儲(chǔ)不完善的日期值(例如 2004-00-00)。time_format(time,format) 它的使用方法與上面的 date_format()函數(shù)相似,但是format字符串只包含處理小時(shí)、 分和秒的那些格式修飾符。使用其它的修飾符會(huì)產(chǎn)生一個(gè)null值或 0。curdat
23、e()current_date 以 yyyy-mm-dd 或 yyyymmdd 格式返回當(dāng)前的日期值,返回的格式取決于該函數(shù)是 用于字符串還是數(shù)字語(yǔ)境中:mysql select curdate();- 1997-12-15 mysql select curdate() +0;-19971215curtime()current_time 以 hh:mm:ss 或 hhmmss格式返回當(dāng)前的時(shí)間值,返回的格式取決于該函數(shù)是用于 字符串還是數(shù)字語(yǔ)境中:mysql select curtime();- 23:50:26 mysql select curtime() +0;-235026now()sy
24、sdate()current_timestamp以yyyy-mm-dd hh:mm:ss 或 yyyymmddhhmmss 格式返回當(dāng)前的日期時(shí)間值,返回的格式取決于該函數(shù)是用于字符串還是 數(shù)字語(yǔ)境中:mysql select now();- 1997-12-15 23:50:26mysql select now() + 0;- 19971215235026 注意,函數(shù)now()在每個(gè)查詢(xún)中只計(jì)算一次,也就是在查詢(xún)開(kāi)始執(zhí)行時(shí)。這就 是說(shuō),如果在一個(gè)單獨(dú)的查詢(xún)中多次引用了now(),它只會(huì)給出值都 是 一 個(gè) 相 同 的 時(shí) 間 。unix_timestamp()unix_timestamp(d
25、ate)如果調(diào)用時(shí)沒(méi)有參數(shù),以無(wú)符號(hào)的整數(shù)形式返回一個(gè)unix時(shí)間戳(從1970-01-0100:00:00 gmt 開(kāi)始的秒數(shù))。如果以一個(gè)參數(shù)date 調(diào)用unix_timestamp(),它將返 回該參數(shù)值從 1970-01-0100:00:00 gmt開(kāi)始經(jīng)過(guò)的秒數(shù)值。date可以是一個(gè) date字符 串,一個(gè) datetime 字符串,一個(gè) timestamp ,或者以一個(gè)yymmdd 或 yyyymmdd 顯示的本地時(shí)間:mysql selectunix_timestamp();-882226357mysqlselectunix_timestamp( 1997-10-0422:23:00 );- 875996580 當(dāng)unix_timestamp 被用于一個(gè) timestamp 列時(shí),函數(shù)直接返回 一個(gè)內(nèi)部的時(shí)間戳值,而不進(jìn)行一個(gè)隱含地“string-to-unix-timestamp ” 轉(zhuǎn)換。如果你傳遞一個(gè)超出范圍的 日期參數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代農(nóng)業(yè)裝備在種植業(yè)中的技術(shù)優(yōu)勢(shì)
- 現(xiàn)代醫(yī)療技術(shù)中的人才培養(yǎng)與團(tuán)隊(duì)建設(shè)
- 校園文化與企業(yè)文化的對(duì)接與互鑒
- 14《母雞》說(shuō)課稿-2023-2024學(xué)年統(tǒng)編版四年級(jí)語(yǔ)文下冊(cè)
- 24 《古人談讀書(shū)》說(shuō)課稿-2024-2025學(xué)年語(yǔ)文五年級(jí)上冊(cè)統(tǒng)編版
- 6 傳統(tǒng)游戲我會(huì)玩2023-2024學(xué)年二年級(jí)下冊(cè)道德與法治同步說(shuō)課稿(統(tǒng)編版)
- 14 圓明園的毀滅 說(shuō)課稿-2024-2025學(xué)年語(yǔ)文五年級(jí)上冊(cè)統(tǒng)編版
- 5 樹(shù)和喜鵲(說(shuō)課稿)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文一年級(jí)下冊(cè)
- 17《爬天都峰》說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- 2023三年級(jí)英語(yǔ)下冊(cè) Unit 4 Food and Restaurants Lesson 21 In the Restaurant說(shuō)課稿 冀教版(三起)
- 武漢2025年湖北武漢理工大學(xué)管理人員招聘筆試歷年參考題庫(kù)附帶答案詳解
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級(jí)歷史下冊(cè)
- 提高金剛砂地坪施工一次合格率
- 【歷史】唐朝建立與“貞觀之治”課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 基于護(hù)士主導(dǎo)的MDT肺康復(fù)管理模式改善肺部術(shù)后患者照護(hù)結(jié)局
- 產(chǎn)業(yè)園區(qū)招商合作協(xié)議書(shū)
- 2025新譯林版英語(yǔ)七年級(jí)下單詞默寫(xiě)表
- 2024-2025學(xué)年人教版八年級(jí)上冊(cè)數(shù)學(xué)期末專(zhuān)項(xiàng)復(fù)習(xí):軸對(duì)稱(chēng)(易錯(cuò)必刷40題)解析版
- 盾構(gòu)標(biāo)準(zhǔn)化施工手冊(cè)
- 天然氣脫硫完整版本
- 中歐班列課件
評(píng)論
0/150
提交評(píng)論