最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL字符串使用STR_TO_DATE()函數(shù)舉例說(shuō)明

 更新時(shí)間:2024年04月17日 09:39:25   作者:梁辰興  
在 MySQL 中,STR_TO_DATE()函數(shù)用于將一個(gè)字符串轉(zhuǎn)換為日期或時(shí)間格式,它可以幫助我們將字符串解析為日期類(lèi)型,以便在查詢(xún)中進(jìn)行比較、計(jì)算和顯示,這篇文章主要給大家介紹了關(guān)于MySQL字符串使用STR_TO_DATE()函數(shù)的相關(guān)資料,需要的朋友可以參考下

STR_TO_DATE() 函數(shù)

前面(《MySQL 對(duì)日期使用 DATE_FORMAT()函數(shù)》)我們利用 date_formate() 函數(shù),按照自己希望的格式來(lái)輸出日期時(shí)間。我們從用戶界面接收到的信息都是以字符串的形式在進(jìn)行傳遞,如何把字符串轉(zhuǎn)換為日期類(lèi)型進(jìn)行存儲(chǔ)呢?可使用 str_to_date() 函數(shù)。

把字符串轉(zhuǎn)換為日期時(shí)間需要注意以下幾點(diǎn):

  • 待轉(zhuǎn)換字符串中只能出現(xiàn)數(shù)字,否則返回結(jié)果為 null;
  • 如果格式字符串僅包含日期,則待轉(zhuǎn)字符串至少需要 8 位數(shù)字,轉(zhuǎn)換時(shí)默認(rèn)前四位是年份,中間兩位是月份,最后兩位是日期,格式字符串無(wú)需使用 - 區(qū)分日期各部分,結(jié)果會(huì)自動(dòng)用 - 拼接日期各個(gè)部分;
  • 轉(zhuǎn)換后日期時(shí)間必須有效,否則返回結(jié)果為 null;
  • 如果被轉(zhuǎn)字符串超出 8 位且格式字符串中無(wú)時(shí)間格式,則自動(dòng)取前 8 位轉(zhuǎn)換為日期;
  • 格式字符串可包含時(shí)間格式,格式字符串無(wú)需使用 : 區(qū)分時(shí)間各部分,結(jié)果中的時(shí)間部分會(huì)自動(dòng)用 : 連接各個(gè)部分。

str_to_date() 函數(shù)的用法和 date_format() 基本一致,只是輸出數(shù)據(jù)的類(lèi)型不同,前提都需要熟悉輸出格式,參照上表。

接下來(lái)就上述 5 點(diǎn)注意事項(xiàng)進(jìn)行舉例說(shuō)明(這一段說(shuō)明是針對(duì) mysql 的,webide 使用的是兼容 mysql 的 MariaDB,在此環(huán)境下進(jìn)行下面 5 點(diǎn)說(shuō)明的實(shí)驗(yàn),可能會(huì)得到不同結(jié)果):

1. 待轉(zhuǎn)換字符串中出現(xiàn)數(shù)字以外的,自動(dòng)去除字符,然后添加0至8位轉(zhuǎn)換為日期

MariaDB [(none)]> select str_to_date('2023050a', '%Y%m%d');
+-----------------------------------+
| str_to_date('2023050a', '%Y%m%d') |
+-----------------------------------+
| 2023-05-00                        |
+-----------------------------------+
1 row in set, 1 warning (0.000 sec)

2. 如果格式字符串僅包含日期,則待轉(zhuǎn)字符串至少需要 8 位數(shù)字

MariaDB [(none)]> select str_to_date('202305', '%Y%m%d');
+---------------------------------+
| str_to_date('202305', '%Y%m%d') |
+---------------------------------+
| 2023-05-00                      |
+---------------------------------+
1 row in set (0.000 sec)

結(jié)果解析:字符串 202305 低于 8 位,其結(jié)果會(huì)自動(dòng)補(bǔ)0至8位。

3. 轉(zhuǎn)換后日期時(shí)間必須有效,否則返回結(jié)果為 null

MariaDB [(none)]> select str_to_date('20231501', '%Y%m%d');
+-----------------------------------+
| str_to_date('20231501', '%Y%m%d') |
+-----------------------------------+
| NULL                              |
+-----------------------------------+
1 row in set, 1 warning (0.000 sec)

結(jié)果解析:20231501 轉(zhuǎn)換為日期后得到的月份是 15,超出有效范圍,故結(jié)果返回 null。

4. 如果被轉(zhuǎn)字符串超出 8 位且格式字符串中無(wú)時(shí)間格式,則自動(dòng)取前 8 位轉(zhuǎn)換為日期

MariaDB [(none)]> select str_to_date('2023050110', '%Y%m%d');
+-------------------------------------+
| str_to_date('2023050110', '%Y%m%d') |
+-------------------------------------+
| 2023-05-01                          |
+-------------------------------------+
1 row in set, 1 warning (0.000 sec)

5. 格式字符串可以包含時(shí)間格式

MariaDB [(none)]> select str_to_date('20230501104523', '%Y%m%d%H%i%S');
+-----------------------------------------------+
| str_to_date('20230501104523', '%Y%m%d%H%i%S') |
+-----------------------------------------------+
| 2023-05-01 10:45:23                           |
+-----------------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> 

總結(jié) 

到此這篇關(guān)于MySQL字符串使用STR_TO_DATE()函數(shù)舉例說(shuō)明的文章就介紹到這了,更多相關(guān)MySQL字符串STR_TO_DATE()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL索引機(jī)制的詳細(xì)解析及原理

    MySQL索引機(jī)制的詳細(xì)解析及原理

    引是為了加速對(duì)表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于MySQL索引機(jī)制的詳細(xì)解析及原理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Mysql觸發(fā)器字段雙向更新方式

    Mysql觸發(fā)器字段雙向更新方式

    這篇文章主要介紹了Mysql觸發(fā)器字段雙向更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MYSQL8.0.13免安裝版配置教程實(shí)例詳解

    MYSQL8.0.13免安裝版配置教程實(shí)例詳解

    這篇文章主要介紹了MYSQL8.0.13免安裝版 配置教程,本文是以8.0為例,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-12-12
  • MySQL如何讓一個(gè)表中可以有多個(gè)自增列

    MySQL如何讓一個(gè)表中可以有多個(gè)自增列

    這篇文章主要介紹了MySQL如何讓一個(gè)表中可以有多個(gè)自增列,自增列可使用?auto_increment?來(lái)實(shí)現(xiàn),當(dāng)一個(gè)列被標(biāo)識(shí)為?auto_increment?之后,在添加時(shí)如果不給此列設(shè)置任何值,或給此列設(shè)置?NULL?值時(shí),那么它會(huì)使用自增的規(guī)則來(lái)填充此列
    2022-06-06
  • 為什么Mysql?數(shù)據(jù)庫(kù)表中有索引還是查詢(xún)慢

    為什么Mysql?數(shù)據(jù)庫(kù)表中有索引還是查詢(xún)慢

    這篇文章主要介紹了為什么Mysql數(shù)據(jù)庫(kù)表中有索引還是查詢(xún)慢,以?user_info?這張表來(lái)作為分析的基礎(chǔ),在?user_info?這張表上,我們分別創(chuàng)建了idx_name以及idx_phone?二級(jí)索引以及?idx_age_address?聯(lián)合索引展開(kāi)詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • MySQL性能優(yōu)化之如何從底層原理到實(shí)戰(zhàn)落地

    MySQL性能優(yōu)化之如何從底層原理到實(shí)戰(zhàn)落地

    本文將融合底層理論與實(shí)戰(zhàn)經(jīng)驗(yàn),構(gòu)建“原理認(rèn)知-問(wèn)題定位-優(yōu)化實(shí)施-工程保障”的完整體系,助力開(kāi)發(fā)者實(shí)現(xiàn)MySQL性能的精準(zhǔn)提升,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • 生產(chǎn)環(huán)境的MySQL事務(wù)隔離級(jí)別方式

    生產(chǎn)環(huán)境的MySQL事務(wù)隔離級(jí)別方式

    本文探討了MySQL數(shù)據(jù)庫(kù)在RR(可重復(fù)讀)和RC(讀已提交)隔離級(jí)別下的鎖機(jī)制,在RR級(jí)別下,UPDATE語(yǔ)句會(huì)鎖定所有符合條件的行,包括不符合條件的行,以防止幻讀,而在RC級(jí)別下,UPDATE語(yǔ)句僅鎖定符合條件的行,通過(guò)半一致性讀優(yōu)化,可以進(jìn)一步提高并發(fā)度
    2025-02-02
  • 在CentOS上MySQL數(shù)據(jù)庫(kù)服務(wù)器配置方法

    在CentOS上MySQL數(shù)據(jù)庫(kù)服務(wù)器配置方法

    最近工作中經(jīng)常需要使用到MySQL,有時(shí)候在WINXP,有時(shí)候在Linux中,而這次,需要在CentOS中配置一下,還需要用到phpmyadmin, 在網(wǎng)上搜了不少的資料。
    2010-04-04
  • mysql給字段添加默認(rèn)值的實(shí)現(xiàn)

    mysql給字段添加默認(rèn)值的實(shí)現(xiàn)

    在MySQL中可以使用語(yǔ)句來(lái)為現(xiàn)有字段添加默認(rèn)值,或者在創(chuàng)建表時(shí)直接指定默認(rèn)值,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07
  • mysql中ALTER CONVERSION使用場(chǎng)景

    mysql中ALTER CONVERSION使用場(chǎng)景

    本文主要介紹了mysql中ALTER CONVERSION使用場(chǎng)景,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05

最新評(píng)論

深泽县| 常德市| 东平县| SHOW| 东阳市| 中江县| 惠水县| 甘泉县| 碌曲县| 潞西市| 商丘市| 崇义县| 闵行区| 凌海市| 宜宾市| 盐源县| 石台县| 灵武市| 荔波县| 泰顺县| 精河县| 崇州市| 涿州市| 邵阳县| 改则县| 湖州市| 潮安县| 松桃| 方城县| 吉安市| 三穗县| 奉化市| 托里县| 永昌县| 天津市| 鄂州市| 荆门市| 永德县| 峨眉山市| 手机| 准格尔旗|