欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

STR_TO_DATE() 函數(shù)

前面(《MySQL 對日期使用 DATE_FORMAT()函數(shù)》)我們利用 date_formate() 函數(shù),按照自己希望的格式來輸出日期時(shí)間。我們從用戶界面接收到的信息都是以字符串的形式在進(jìn)行傳遞,如何把字符串轉(zhuǎn)換為日期類型進(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)前四位是年份,中間兩位是月份,最后兩位是日期,格式字符串無需使用 - 區(qū)分日期各部分,結(jié)果會(huì)自動(dòng)用 - 拼接日期各個(gè)部分;
  • 轉(zhuǎn)換后日期時(shí)間必須有效,否則返回結(jié)果為 null;
  • 如果被轉(zhuǎn)字符串超出 8 位且格式字符串中無時(shí)間格式,則自動(dòng)取前 8 位轉(zhuǎn)換為日期;
  • 格式字符串可包含時(shí)間格式,格式字符串無需使用 : 區(qū)分時(shí)間各部分,結(jié)果中的時(shí)間部分會(huì)自動(dòng)用 : 連接各個(gè)部分。

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

接下來就上述 5 點(diǎn)注意事項(xiàng)進(jìn)行舉例說明(這一段說明是針對 mysql 的,webide 使用的是兼容 mysql 的 MariaDB,在此環(huán)境下進(jìn)行下面 5 點(diǎn)說明的實(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 位且格式字符串中無時(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ù)舉例說明的文章就介紹到這了,更多相關(guān)MySQL字符串STR_TO_DATE()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql忘記密碼怎么辦(windows linux)

    mysql忘記密碼怎么辦(windows linux)

    本文給大家介紹windows系統(tǒng)和linux系統(tǒng)下mysql忘記密碼怎么辦的相關(guān)資料,本文給出了合理的解決方案,非常好用,需要的朋友參考下
    2015-11-11
  • master and slave have equal MySQL server UUIDs 解決方法

    master and slave have equal MySQL server UUIDs 解決方法

    使用rsync配置了大量mysql,省去了大量編譯和配置的時(shí)間,隨逐個(gè)修改master和slave服務(wù)器的my.cnf,后,發(fā)現(xiàn)數(shù)據(jù)不能同步
    2013-07-07
  • 一個(gè)優(yōu)化MySQL查詢操作的具體案例分析

    一個(gè)優(yōu)化MySQL查詢操作的具體案例分析

    這篇文章主要介紹了一個(gè)優(yōu)化MySQL查詢操作的具體案例分析,主要針對join字段的使用方面做出調(diào)整,需要的朋友可以參考下
    2015-05-05
  • mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法

    mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法

    這篇文章主要介紹了mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Windows XP系統(tǒng)安裝MySQL5.5.28圖解教程

    Windows XP系統(tǒng)安裝MySQL5.5.28圖解教程

    很多朋友在winxp系統(tǒng)中開發(fā)php等,需要安裝mysql數(shù)據(jù)庫,這里簡單介紹下,如何在xp下安裝mysql軟件,其實(shí)跟其它系統(tǒng)都差不多,主要是軟件對系統(tǒng)的兼容性
    2013-05-05
  • Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)

    Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)

    MAMP從名字上也可以看出來,是Mac OS的Apache+MySQL+PHP的集成環(huán)境包,本文就來簡單說一下Mac OS下PHP環(huán)境搭建及PHP操作MySQL的常用方法小結(jié).
    2016-05-05
  • mysql中json_extract的具體使用

    mysql中json_extract的具體使用

    mysql5.7版本開始支持JSON類型字段,本文主要介紹了mysql中json_extract的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • MySQL Event Scheduler(事件調(diào)度器)

    MySQL Event Scheduler(事件調(diào)度器)

    事件調(diào)度器是在 MySQL 5.1 中新增的另一個(gè)特色功能,可以作為定時(shí)任務(wù)調(diào)度器,取代部分原先只能用操作系統(tǒng)任務(wù)調(diào)度器才能完成的定時(shí)功能。
    2010-06-06
  • MySQL Order By索引優(yōu)化方法

    MySQL Order By索引優(yōu)化方法

    在一些情況下,MySQL可以直接使用索引來滿足一個(gè) ORDER BY 或 GROUP BY 子句而無需做額外的排序
    2012-07-07
  • Mysql 模糊查詢和正則表達(dá)式實(shí)例詳解

    Mysql 模糊查詢和正則表達(dá)式實(shí)例詳解

    在MySQL中,可以使用LIKE運(yùn)算符進(jìn)行模糊查詢,LIKE運(yùn)算符用于匹配字符串模式,其中可以使用通配符來表示任意字符或字符序列,這篇文章主要介紹了Mysql 模糊查詢和正則表達(dá)式實(shí)例詳解,需要的朋友可以參考下
    2023-11-11

最新評論