国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

MySQL數(shù)據(jù)庫中的Date,DateTime和TimeStamp類型

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 15:15:55
文檔

MySQL數(shù)據(jù)庫中的Date,DateTime和TimeStamp類型

MySQL數(shù)據(jù)庫中的Date,DateTime和TimeStamp類型:DATETIME, DATE和TIMESTAMP類型是相關(guān)的。本文描述他們的特征,他們是如何類的而又不同的。 DATETIME類型用在你需要同時(shí)包含日期和時(shí)間信息的時(shí)。MySQL檢索并且以'YYYY-MM-DD HH:MM:SS'式顯示DATETIME,支持的范圍是'1000-01-01 00:00
推薦度:
導(dǎo)讀MySQL數(shù)據(jù)庫中的Date,DateTime和TimeStamp類型:DATETIME, DATE和TIMESTAMP類型是相關(guān)的。本文描述他們的特征,他們是如何類的而又不同的。 DATETIME類型用在你需要同時(shí)包含日期和時(shí)間信息的時(shí)。MySQL檢索并且以'YYYY-MM-DD HH:MM:SS'式顯示DATETIME,支持的范圍是'1000-01-01 00:00

DATETIME, DATE和TIMESTAMP類型是相關(guān)的。本文描述他們的特征,他們是如何類的而又不同的。 DATETIME類型用在你需要同時(shí)包含日期和時(shí)間信息的時(shí)。MySQL檢索并且以'YYYY-MM-DD HH:MM:SS'式顯示DATETIME,支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59

DATETIME, DATE和TIMESTAMP類型是相關(guān)的。本文描述他們的特征,他們是如何類似的而又不同的。

  DATETIME類型用在你需要同時(shí)包含日期和時(shí)間信息的值時(shí)。MySQL檢索并且以'YYYY-MM-DD HH:MM:SS'格式顯示DATETIME值,支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味著盡管更早的值可能工作,但不能保證他們可以。)

  DATE類型用在你僅需要日期值時(shí),沒有時(shí)間部分。MySQL檢索并且以'YYYY-MM-DD'格式顯示DATE值,支持的范圍是'1000-01-01'到'9999-12-31'。

  TIMESTAMP列類型提供一種類型,你可以使用它自動(dòng)地用當(dāng)前的日期和時(shí)間標(biāo)記INSERT或UPDATE的操作。如果你有多個(gè)TIMESTAMP列,只有第一個(gè)自動(dòng)更新。

  自動(dòng)更新第一個(gè)TIMESTAMP列在下列任何條件下發(fā)生:

  列沒有明確地在一個(gè)INSERT或LOAD DATA INFILE語句中指定。

  列沒有明確地在一個(gè)UPDATE語句中指定且一些另外的列改變值。(注意一個(gè)UPDATE設(shè)置一個(gè)列為它已經(jīng)有的值,這將不引起TIMESTAMP列被更新,因?yàn)槿绻阍O(shè)置一個(gè)列為它當(dāng)前的值,MySQL為了效率而忽略更改。)

  你明確地設(shè)定TIMESTAMP列為NULL.

  除第一個(gè)以外的TIMESTAMP列也可以設(shè)置到當(dāng)前的日期和時(shí)間,只要將列設(shè)為NULL,或NOW()。

  通過明確地設(shè)置希望的值,你可以設(shè)置任何TIMESTAMP列為不同于當(dāng)前日期和時(shí)間的值,即使對(duì)第一個(gè)TIMESTAMP列也是這樣。例如,如果,當(dāng)你創(chuàng)建一個(gè)行時(shí),你想要一個(gè)TIMESTAMP被設(shè)置到當(dāng)前的日期和時(shí)間,但在以后無論何時(shí)行被更新時(shí)都不改變,你可以使用這個(gè)屬性:

  讓MySQL在行被創(chuàng)建時(shí)設(shè)置列,這將初始化它為當(dāng)前的日期和時(shí)間。

  當(dāng)你執(zhí)行隨后的對(duì)該行中其他列的更改時(shí),明確設(shè)定TIMESTAMP列為它的當(dāng)前值。

  另一方面,你可能發(fā)現(xiàn),當(dāng)行被創(chuàng)建并且遠(yuǎn)離隨后的更改時(shí),很容易用一個(gè)你用NOW()初始化的DATETIME列。

  TIMESTAMP值可以從1970的某時(shí)的開始一直到2037年,精度為一秒,其值作為數(shù)字顯示。

  在MySQL檢索并且顯示TIMESTAMP值取決于顯示尺寸的格式如下表?!巴暾盩IMESTAMP格式是14位,但是TIMESTAMP列可以用更短的顯示尺寸創(chuàng)造:

雙擊代碼全選

1

2

3

4

5

6

7

8

列類型     顯示格式

TIMESTAMP(14) YYYYMMDDHHMMSS

TIMESTAMP(12) YYMMDDHHMMSS

TIMESTAMP(10) YYMMDDHHMM

TIMESTAMP(8) YYYYMMDD

TIMESTAMP(6) YYMMDD

TIMESTAMP(4) YYMM

TIMESTAMP(2) YY

  所有的TIMESTAMP列都有同樣的存儲(chǔ)大小,不考慮顯示尺寸。最常見的顯示尺寸是6、8、12、和14。你可以在表創(chuàng)建時(shí)間指定一個(gè)任意的顯示尺寸,但是值0或比14大被強(qiáng)制到14。在從1~13范圍的奇數(shù)值尺寸被強(qiáng)制為下一個(gè)更大的偶數(shù)。

  使用一個(gè)常用的格式集的任何一個(gè),你可以指定DATETIME、DATE和TIMESTAMP值:

  'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的一個(gè)字符串。允許一種“寬松”的語法--任何標(biāo)點(diǎn)可用作在日期部分和時(shí)間部分之間的分隔符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等價(jià)的。

  'YYYY-MM-DD'或'YY-MM-DD'格式的一個(gè)字符串。允許一種“寬松”的語法。例如,'98-12-31', '98.12.31', '98/12/31'和'98@12@31'是等價(jià)的。

  'YYYYMMDDHHMMSS'或'YYMMDDHHMMSS'格式的沒有任何分隔符的一個(gè)字符串,例如,'19970523091528'和'970523091528'被解釋為'1997-05-23 09:15:28',但是'971122459015'是不合法的(它有毫無意義的分鐘部分)且變成'0000-00-00 00:00:00'。

  'YYYYMMDD'或'YYMMDD'格式的沒有任何分隔符的一個(gè)字符串,如果字符串認(rèn)為是一個(gè)日期。例如,'19970523'和'970523'被解釋作為'1997-05-23',但是'971332'是不合法的( 它有無意義的月和天部分)且變成'0000-00-00'。

  YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的一個(gè)數(shù)字,如果數(shù)字認(rèn)為是一個(gè)日期。例如,19830905132800和830905132800被解釋作為'1983-09-05 13:28:00'。

  YYYYMMDD或YYMMDD格式的一個(gè)數(shù)字,如果數(shù)字認(rèn)為是一個(gè)日期。例如,19830905和830905被解釋作為'1983-09-05'。

  一個(gè)返回值可以在一個(gè)DATETIME, DATE或TIMESTAMP上下文環(huán)境中接受的函數(shù),例如NOW()或CURRENT_DATE。

  不合法DATETIME, DATE或TIMESTAMP值被變換到適當(dāng)類型的“零”值('0000-00-00 00:00:00', '0000-00-00'或00000000000000)。

  對(duì)于包括的日期部分分隔符的指定為字符串的值,不必要為小于10的月或天的值指定2位數(shù)字,'1979-6-9'與'1979-06-09'是一樣的。同樣, 對(duì)于包括的時(shí)間部分分隔符的指定為字符串的值,不必為小于10的小時(shí)、月或秒指定2位數(shù)字,'1979-10-30 1:2:3'與'1979-10-30 01:02:03'是一樣的。

  指定為數(shù)字應(yīng)該是6、8、12或14位長。如果數(shù)字是8或14位長,它被假定以YYYYMMDD或YYYYMMDDHHMMSS格式并且年份由頭4位數(shù)字給出。如果數(shù)字是6或12位長,它被假定是以YYMMDD或YYMMDDHHMMSS格式且年份由頭2位數(shù)字給出。不是這些長度之一的數(shù)字通過填補(bǔ)前頭的零到最接近的長度來解釋。

  指定為無分隔符的字符串用它們給定的長度來解釋。如果字符串長度是8或14個(gè)字符,年份被假定頭4個(gè)字符給出,否則年份被假定由頭2個(gè)字符給出。對(duì)于字符串中呈現(xiàn)的多個(gè)部分,字符串從左到右邊被解釋,以找出年、月、日、小時(shí)、分鐘和秒值,這意味著,你不應(yīng)該使用少于 6 個(gè)字符的字符串。例如,如果你指定'9903',認(rèn)為將代表1999年3月,你會(huì)發(fā)現(xiàn)MySQL把一個(gè)“零”日期插入到你的表中,這是因?yàn)槟攴莺驮路?#20540;99和03,但是日期部分丟失(零),因此該值不是一個(gè)合法的日期。

  TIMESTAMP列使用被指定的值的完整精度的存儲(chǔ)合法的值,不考慮顯示大小。這有幾個(gè)含意:

  總是指定年,月,和日,即使你的列類型是TIMESTAMP(4)或TIMESTAMP(2)。否則,值將不是一個(gè)合法的日期并且0將被存儲(chǔ)。

  如果你使用ALTER TABLE拓寬一個(gè)狹窄的TIMESTAMP列,以前被“隱蔽”的信息將被顯示。

  同樣,縮小一個(gè)TIMESTAMP列不會(huì)導(dǎo)致信息失去,除了感覺上值在顯示時(shí),較少的信息被顯示出。

  盡管TIMESTAMP值被存儲(chǔ)為完整精度,直接操作存儲(chǔ)值的唯一函數(shù)是UNIX_TIMESTAMP(),其他函數(shù)操作在格式化了的檢索的值上,這意味著你不能使用函數(shù)例如HOUR()或SECOND(),除非TIMESTAMP值的相關(guān)部分被包含在格式化的值中。例如,一個(gè)TIMESTAMP列的HH部分部被顯示,除非顯示大小至少是10,因此在更短的TIMESTAMP值上試試使用HOUR()產(chǎn)生一個(gè)無意義的結(jié)果。

  在某種程度上,你可以把一種日期類型的值賦給一個(gè)不同的日期類型的對(duì)象。然而,這可能值有一些改變或信息的損失:

  如果你將一個(gè)DATE值賦給一個(gè)DATETIME或TIMESTAMP對(duì)象,結(jié)果值的時(shí)間部分被設(shè)置為'00:00:00',因?yàn)镈ATE值不包含時(shí)間信息。

  如果你將一個(gè)DATETIME或TIMESTAMP值賦給一個(gè)DATE對(duì)象,結(jié)果值的時(shí)間部分被刪除,因?yàn)镈ATE類型不存儲(chǔ)時(shí)間信息。

  記住,盡管DATETIME, DATE和TIMESTAMP值全都可以用同樣的格式集來指定,但所有類型不都有同樣的值范圍。例如,TIMESTAMP值不能比1970早或比2037網(wǎng)晚,這意味著,一個(gè)日期例如'1968-01-01',當(dāng)作為一個(gè)DATETIME或DATE值合法時(shí),它不是一個(gè)正確TIMESTAMP值,并且 如果賦值給這樣一個(gè)對(duì)象,它將被變換到0。

  當(dāng)指定日期值時(shí),當(dāng)心某些缺陷:

  允許作為字符串指定值的寬松格式能被欺騙。例如,值例如'10:11:12'可能看起來像時(shí)間值,因?yàn)椤?”分隔符,但是如果在一個(gè)日期中使用,上下文將作為年份被解釋成'2010-11-12'。值'10:45:15'將被變換到'0000-00-00',因?yàn)?45'不是一個(gè)合法的月份。

  以2位數(shù)字指定的年值是模糊的,因?yàn)槭兰o(jì)是未知的。MySQL使用下列規(guī)則解釋2位年值:

  在00-69范圍的年值被變換到2000-2069。

  在70-99范圍的年值被變換到1970-1999。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MySQL數(shù)據(jù)庫中的Date,DateTime和TimeStamp類型

MySQL數(shù)據(jù)庫中的Date,DateTime和TimeStamp類型:DATETIME, DATE和TIMESTAMP類型是相關(guān)的。本文描述他們的特征,他們是如何類的而又不同的。 DATETIME類型用在你需要同時(shí)包含日期和時(shí)間信息的時(shí)。MySQL檢索并且以'YYYY-MM-DD HH:MM:SS'式顯示DATETIME,支持的范圍是'1000-01-01 00:00
推薦度:
標(biāo)簽: 中的 tim 類型
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美日韩精品在线观看 | 久久精品a亚洲国产v高清不卡 | 国产精品视频免费看 | 国产精品美女久久久久 | 欧美在线日韩在线 | 精品久久久久久久中文字幕 | 天天躁日日躁狠狠躁中文字幕老牛 | 国产一级视频在线观看 | 国产精品久久久久毛片 | 国产九区 | 国产一区二区免费视频 | 国产精品一区二区午夜嘿嘿嘿小说 | 国产精品视频免费观看 | 亚洲国产日韩欧美一区二区三区 | 久久久久久久国产精品毛片 | 日韩在线视频一区 | 精品欧美一区二区三区 | 国产精品成人一区二区不卡 | 亚洲国产精品一区二区久 | 精品一区二区三区在线视频 | 国产精品久久久久久久久 | 亚洲视频入口 | 国产亚洲精品sese在线播放 | 亚洲色图欧美一区 | 一级毛片一级毛片一级毛片 | 插欧美| 欧美一区二区三区香蕉视 | 在线视频观看国产 | 亚洲欧美二区三区久本道 | 国产传媒一区二区三区四区五区 | 2020精品极品国产色在线观看 | 国产精品91av| 日本二区在线观看 | 亚洲国产精品一区二区三区 | 久久国产精品成人免费古装 | 中文字幕免费 | 国产v片在线观看 | 欧美日韩操 | 日韩在线欧美高清一区 | 欧美日韩视频在线播放 | 亚洲欧美日韩精品永久在线 |