国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL DTAETIME、TIMESTAMP、DATE、TIME、YEAR(日期和時間類型)

這篇具有很好參考價值的文章主要介紹了MySQL DTAETIME、TIMESTAMP、DATE、TIME、YEAR(日期和時間類型)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

MySQL 中有多處表示日期的數(shù)據(jù)類型:YEARTIME、DATE、DTAETIME、TIMESTAMP。當(dāng)只記錄年信息的時候,可以只使用 YEAR 類型。

每一個類型都有合法的取值范圍,當(dāng)指定確定不合法的值時,系統(tǒng)將“零”值插入數(shù)據(jù)庫中。

下表中列出了 MySQL 中的日期與時間類型。

類型名稱 日期格式 日期范圍 存儲需求
YEAR YYYY 1901 ~ 2155 1 個字節(jié)
TIME HH:MM:SS -838:59:59 ~ 838:59:59 3 個字節(jié)
DATE YYYY-MM-DD 1000-01-01?~ 9999-12-3 3 個字節(jié)
DATETIME YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 8 個字節(jié)
TIMESTAMP YYYY-MM-DD HH:MM:SS 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC 4 個字節(jié)

YEAR 類型

YEAR 類型是一個單字節(jié)類型,用于表示年,在存儲時只需要 1 個字節(jié)??梢允褂酶鞣N格式指定 YEAR,如下所示:

  • 以 4 位字符串或者 4 位數(shù)字格式表示的 YEAR,范圍為 '1901'~'2155'。輸入格式為 'YYYY' 或者 YYYY,例如,輸入 '2010' 或 2010,插入數(shù)據(jù)庫的值均為 2010。
  • 以 2 位字符串格式表示的 YEAR,范圍為 '00' 到 '99'。'00'~'69' 和 '70'~'99' 范圍的值分別被轉(zhuǎn)換為 2000~2069 和 1970~1999 范圍的 YEAR 值。'0' 與 '00' 的作用相同。插入超過取值范圍的值將被轉(zhuǎn)換為 2000。
  • 以 2 位數(shù)字表示的 YEAR,范圍為 1~99。1~99 和 70~99 范圍的值分別被轉(zhuǎn)換為 2001~2069 和 1970~1999 范圍的 YEAR 值。注意,在這里 0 值將被轉(zhuǎn)換為 0000,而不是 2000。

提示:兩位整數(shù)范圍與兩位字符串范圍稍有不同。例如,插入 3000 年,讀者可能會使用數(shù)字格式的 0 表示 YEAR,實際上,插入數(shù)據(jù)庫的值為 0000,而不是所希望的 3000。只有使用字符串格式的 '0' 或 '00',才可以被正確解釋為 3000,非法 YEAR值將被轉(zhuǎn)換為 0000。

TIME 類型

TIME 類型用于只需要時間信息的值,在存儲時需要 3 個字節(jié)。格式為 HH:MM:SS。HH 表示小時,MM 表示分鐘,SS 表示秒。

TIME 類型的取值范圍為 -838:59:59~838:59:59,小時部分如此大的原因是 TIME 類型不僅可以用于表示一天的時間(必須小于 24 小時),還可能是某個事件過去的時間或兩個事件之間的時間間隔(可大于 24 小時,或者甚至為負(fù))。

可以使用各種格式指定 TIME 值,如下所示。

  • 'D HH:MM:SS' 格式的字符串。還可以使用這些“非嚴(yán)格”的語法:'HH:MM:SS'、'HH:MM'、'D HH' 或 'SS'。這里的 D 表示日,可以取 0~34 之間的值。在插入數(shù)據(jù)庫時,D 被轉(zhuǎn)換為小時保存,格式為 “D*24+HH”。
  • 'HHMMSS' 格式、沒有間隔符的字符串或者 HHMMSS 格式的數(shù)值,假定是有意義的時間。例如,'101112' 被理解為'10:11:12',但是 '106112' 是不合法的(它有一個沒有意義的分鐘部分),在存儲時將變?yōu)?00:00:00。

提示:為 TIME 列分配簡寫值時應(yīng)注意:如果沒有冒號,MySQL 解釋值時,假定最右邊的兩位表示秒。(MySQL 解釋 TIME 值為過去的時間而不是當(dāng)前的時間)。例如,讀者可能認(rèn)為 '1112' 和 1112 表示 11:12:00(即 11 點過 12 分鐘),但MySQL 將它們解釋為 00:11:12(即 11 分 12 秒)。同樣 '12' 和 12 被解釋為00:00:12。相反,TIME 值中如果使用冒號則肯定被看作當(dāng)天的時間,也就是說,'11:12' 表示 11:12:00,而不是 00:11:12。

DATE 類型

DATE 類型用于僅需要日期值時,沒有時間部分,在存儲時需要 3 個字節(jié)。日期格式為 'YYYY-MM-DD',其中 YYYY 表示年,MM 表示月,DD 表示日。

在給 DATE 類型的字段賦值時,可以使用字符串類型或者數(shù)字類型的數(shù)據(jù)插入,只要符合 DATE 的日期格式即可。如下所示:

  • 以 'YYYY-MM-DD' 或者 'YYYYMMDD' 字符中格式表示的日期,取值范圍為 '1000-01-01'~'9999-12-3'。例如,輸入 '2015-12-31' 或者 '20151231',插入數(shù)據(jù)庫的日期為2015-12-31。
  • 以 'YY-MM-DD' 或者 'YYMMDD' 字符串格式表示日期,在這里YY表示兩位的年值。MySQL 解釋兩位年值的規(guī)則:'00~69' 范圍的年值轉(zhuǎn)換為 '2000~2069','70~99' 范圍的年值轉(zhuǎn)換為 '1970~1999'。例如,輸入 '15-12-31',插入數(shù)據(jù)庫的日期為 2015-12-31;輸入 '991231',插入數(shù)據(jù)庫的日期為 1999-12-31。
  • 以 YYMMDD 數(shù)字格式表示的日期,與前面相似,00~69 范圍的年值轉(zhuǎn)換為 2000~2069,80~99 范圍的年值轉(zhuǎn)換為 1980~1999。例如,輸入 151231,插入數(shù)據(jù)庫的日期為 2015-12-31,輸入 991231,插入數(shù)據(jù)庫的日期為 1999-12-31。
  • 使用 CURRENT_DATE 或者 NOW(),插入當(dāng)前系統(tǒng)日期。

提示:MySQL 允許“不嚴(yán)格”語法:任何標(biāo)點符號都可以用作日期部分之間的間隔符。例如,'98-11-31'、'98.11.31'、'98/11/31'和'98@11@31' 是等價的,這些值也可以正確地插入數(shù)據(jù)庫。

DATETIME 類型

DATETIME 類型用于需要同時包含日期和時間信息的值,在存儲時需要 8 個字節(jié)。日期格式為 'YYYY-MM-DD HH:MM:SS',其中 YYYY 表示年,MM 表示月,DD 表示日,HH 表示小時,MM 表示分鐘,SS 表示秒。

在給 DATETIME 類型的字段賦值時,可以使用字符串類型或者數(shù)字類型的數(shù)據(jù)插入,只要符合 DATETIME 的日期格式即可,如下所示。

  • 以 'YYYY-MM-DD HH:MM:SS' 或者 'YYYYMMDDHHMMSS' 字符串格式表示的日期,取值范圍為 '1000-01-01 00:00:00'~'9999-12-3 23:59:59'。例如,輸入 '2014-12-31 05:05:05' 或者 '20141231050505’,插入數(shù)據(jù)庫的 DATETIME 值都為 2014-12-31 05:05:05。
  • 以 'YY-MM-DD HH:MM:SS' 或者 'YYMMDDHHMMSS' 字符串格式表示的日期,在這里 YY 表示兩位的年值。與前面相同,'00~79' 范圍的年值轉(zhuǎn)換為 '2000~2079','80~99' 范圍的年值轉(zhuǎn)換為 '1980~1999'。例如,輸入 '14-12-31 05:05:05',插入數(shù)據(jù)庫的 DATETIME 為 2014-12-31 05:05:05;輸入 141231050505,插入數(shù)據(jù)庫的 DATETIME 為 2014-12-31 05:05:05。
  • 以 YYYYMMDDHHMMSS 或者 YYMMDDHHMMSS 數(shù)字格式表示的日期和時間。例如,輸入 20141231050505,插入數(shù)據(jù)庫的 DATETIME 為 2014-12-31 05:05:05;輸入 140505050505,插入數(shù)據(jù)庫的 DATETIME 為 2014-12-31 05:05:05。

提示:MySQL 允許“不嚴(yán)格”語法:任何標(biāo)點符號都可用作日期部分或時間部分之間的間隔符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+35'、'98/12/31 11*30*45' 和 '98@12@31 11^30^45' 是等價的,這些值都可以正確地插入數(shù)據(jù)庫。

TIMESTAMP 類型

TIMESTAMP 的顯示格式與 DATETIME 相同,顯示寬度固定在 19 個字符,日期格式為 YYYY-MM-DD HH:MM:SS,在存儲時需要 4 個字節(jié)。但是 TIMESTAMP 列的取值范圍小于 DATETIME 的取值范圍,為 '1970-01-01 00:00:01'UTC~'2038-01-19 03:14:07'UTC。在插入數(shù)據(jù)時,要保證在合法的取值范圍內(nèi)。

提示:協(xié)調(diào)世界時(英:Coordinated Universal Time,法:Temps Universel Coordonné)又稱為世界統(tǒng)一時間、世界標(biāo)準(zhǔn)時間、國際協(xié)調(diào)時間。英文(CUT)和法文(TUC)的縮寫不同,作為妥協(xié),簡稱 UTC。

TIMESTAMP 與 DATETIME 除了存儲字節(jié)和支持的范圍不同外,還有一個最大的區(qū)別是:

  • DATETIME 在存儲日期數(shù)據(jù)時,按實際輸入的格式存儲,即輸入什么就存儲什么,與時區(qū)無關(guān);
  • 而 TIMESTAMP 值的存儲是以 UTC(世界標(biāo)準(zhǔn)時間)格式保存的,存儲時對當(dāng)前時區(qū)進(jìn)行轉(zhuǎn)換,檢索時再轉(zhuǎn)換回當(dāng)前時區(qū)。即查詢時,根據(jù)當(dāng)前時區(qū)的不同,顯示的時間值是不同的。

提示:如果為一個 DATETIME 或 TIMESTAMP 對象分配一個 DATE 值,結(jié)果值的時間部分被設(shè)置為 '00:00:00',因此 DATE 值未包含時間信息。如果為一個 DATE 對象分配一個 DATETIME 或 TIMESTAMP 值,結(jié)果值的時間部分被刪除,因此DATE 值未包含時間信息。

黑馬程序員 MySQL數(shù)據(jù)庫入門到精通,從mysql安裝到mysql高級、mysql優(yōu)化全囊括文章來源地址http://www.zghlxwxcb.cn/news/detail-413091.html

到了這里,關(guān)于MySQL DTAETIME、TIMESTAMP、DATE、TIME、YEAR(日期和時間類型)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Mysql同步到ES時date和time字段類型轉(zhuǎn)換問題解決辦法

    這個問題中發(fā)生問題的es字段映射類型為date類型?。?! 字符串類型的會好很多,關(guān)鍵我這邊是通過logstash生成索引,并且全量同步的,不好改索引類型?。?! 問題描述: 根據(jù)錯誤日志,似乎是Elasticsearch無法解析日期字段 START_TIME 。這個字段的格式是 YYYY-MM-DD HH:MM:SS ,而Ela

    2024年02月16日
    瀏覽(26)
  • Java 常見的日期轉(zhuǎn)換(Timestamp、Calendar、Date、String)

    日期類型: Timestamp: java.sql.Timestamp Calendar: java.util.Calendar Date: java.util.Date String: java.lang.String 1、Timestamp 轉(zhuǎn) Calendar 2、Timestamp 轉(zhuǎn) Date 3、Timestamp 轉(zhuǎn) String 4、Calendar 轉(zhuǎn) Timestamp 5、Calendar 轉(zhuǎn) Date 6、Calendar 轉(zhuǎn) String 7、Date 轉(zhuǎn) Calendar 8、Date 轉(zhuǎn) Timestamp

    2024年02月04日
    瀏覽(26)
  • java中日期轉(zhuǎn)換Date、DateTime、TimeStamp、String之間相互轉(zhuǎn)換

    1.1Date-String 2.1Date-TimeStamp 2.2TimeStamp-Date DateTime使用依賴 3.1Date-DateTime 方法1: 方法2: 3.2DateTime-Date 4.String轉(zhuǎn)DateTime

    2024年02月15日
    瀏覽(25)
  • Impala時間轉(zhuǎn)換to_date、to_timestamp

    在時間的運(yùn)算上,也常常使用到日期格式的轉(zhuǎn)換,如日期字符串轉(zhuǎn)為日期型,日期轉(zhuǎn)為格式化字符串,是兩種常見的需求;另外也有需要將時間轉(zhuǎn)為時間戳的場景等等; 時間數(shù)據(jù)的轉(zhuǎn)換上,主要用 to_date、to_timestamp ,即可滿足日期字符串轉(zhuǎn)為日期型的需求; from_timestamp、fr

    2023年04月25日
    瀏覽(19)
  • 【?MySQL | 數(shù)據(jù)類型(一)】簡介 | 整數(shù) | 浮點 | 定點 | 時間/日期類型

    【?MySQL | 數(shù)據(jù)類型(一)】簡介 | 整數(shù) | 浮點 | 定點 | 時間/日期類型

    ?歡迎來到小K的MySQL專欄,本節(jié)將為大家?guī)鞰ySQL數(shù)據(jù)類型簡介 | 整數(shù) | 浮點 | 定點 | 時間/日期類型的分享 ? 0.數(shù)據(jù)類型簡介 數(shù)據(jù)類型(data_type)是指系統(tǒng)中所允許的數(shù)據(jù)的類型。MySQL 數(shù)據(jù)類型定義了列中可以存儲什么數(shù)據(jù)以及該數(shù)據(jù)怎樣存儲的規(guī)則。 數(shù)據(jù)庫中的每個列都

    2024年02月11日
    瀏覽(20)
  • logstash毫秒時間戳轉(zhuǎn)日期以及使用業(yè)務(wù)日志時間戳替換原始@timestamp

    logstash毫秒時間戳轉(zhuǎn)日期以及使用業(yè)務(wù)日志時間戳替換原始@timestamp

    在使用Kibana觀察日志排查問題時發(fā)現(xiàn)存在很多組的@timestamp 數(shù)據(jù)一樣,如下所示 詳細(xì)觀察內(nèi)部數(shù)據(jù)發(fā)現(xiàn)其中日志數(shù)據(jù)有一個timestamp字段保存的是業(yè)務(wù)日志的毫秒級時間戳,經(jīng)過和@timestamp數(shù)據(jù)對比發(fā)現(xiàn)二者的時間不匹配。經(jīng)過分析得知@timestamp是按照logstash插入es數(shù)據(jù)的時間來排

    2023年04月11日
    瀏覽(38)
  • php時間函數(shù)date()、getdate()、time()

    php時間函數(shù)date()、getdate()、time()

    目錄 ? 1. 時區(qū)修改 2. date() 3. getdate() 4. time()? 位于東八區(qū),修改php.ini 。date.timezone = Asia/Shanghai 獲取時間函數(shù) 得到當(dāng)前時間的一個數(shù)組, 這個數(shù)組包含了時間戳所代表的各種時間單位的值。具體來說,這些元素代表了以下內(nèi)容: - seconds(秒):33 - minutes(分鐘):50 - hour

    2024年02月02日
    瀏覽(26)
  • 【MySQL】MySQL 數(shù)據(jù)類型,數(shù)值、日期和時間、字符串類型,創(chuàng)建數(shù)據(jù)表,刪除數(shù)據(jù)表

    【MySQL】MySQL 數(shù)據(jù)類型,數(shù)值、日期和時間、字符串類型,創(chuàng)建數(shù)據(jù)表,刪除數(shù)據(jù)表

    作者簡介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄: 七七的閑談 歡迎大家點贊 ?? 收藏 ? 加關(guān)注哦!???? MySQL 中定義數(shù)據(jù)字段的類型對你數(shù)據(jù)庫的優(yōu)化是非常重要的。 MySQL 支持多種類型,大致可以分為三類:數(shù)值、日

    2024年02月15日
    瀏覽(111)
  • springboot~統(tǒng)一處理日期請求參數(shù)java.utils.Date和java.time.LocalDate

    springboot~統(tǒng)一處理日期請求參數(shù)java.utils.Date和java.time.LocalDate

    日期類型的參數(shù)在從前端通過url參數(shù)傳遞到后端時,它會被進(jìn)行格式化,如果格式化失敗會出現(xiàn)400的錯誤,像日期格式默認(rèn)會使用yyyy/MM/dd的格式,如果希望自己去個性化配置,我們可以通過實現(xiàn)WebMvcConfigurer接口的addFormatters方法來完成。 DateTimeFormatterRegistrar 實例的 setTimeFor

    2024年02月06日
    瀏覽(17)
  • Java 8 date/time type `java.time.LocalDateTime` not supported by default:日期序列化問題

    解決辦法一:將實體類中的LocalDateTime轉(zhuǎn)為Date類型 解決辦法二: 通過注解指定 配置全局 解決辦法三: 用阿里的FastJson替換ObjectMapper

    2024年02月12日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包