共計(jì) 1509 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
這篇“MySQL 中怎么進(jìn)行時(shí)間轉(zhuǎn)換”文章的知識點(diǎn)大部分人都不太理解,所以丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“MySQL 中怎么進(jìn)行時(shí)間轉(zhuǎn)換”文章吧。
在 MySQL 中,時(shí)間可以用 DATETIME、TIMESTAMP、DATE、TIME 等類型表示。這些類型在 MySQL 中存儲的時(shí)間都是 UTC 時(shí)間。
將字符串類型的時(shí)間轉(zhuǎn)換為時(shí)間類型,可以使用 MySQL 提供的 STR_TO_DATE() 函數(shù)。該函數(shù)的語法如下:
STR_TO_DATE(str, format)
其中,str 表示要轉(zhuǎn)換的字符串,format 表示字符串中日期和時(shí)間的格式。例如:
SELECT STR_TO_DATE(2019-08-14 21:12:23 , %Y-%m-%d %H:%i:%s
這條 SQL 語句將會返回一個(gè) DATETIME 類型的時(shí)間,表示 2019 年 8 月 14 日 21 時(shí) 12 分 23 秒。
在使用 STR_TO_DATE() 函數(shù)時(shí),需要注意以下幾點(diǎn):
標(biāo)識符大小寫:格式字符串中的標(biāo)識符(如 Y、m、d、H、i、s 等)的大小寫是有區(qū)別的。大寫表示嚴(yán)格匹配,小寫表示寬松匹配。例如,%m 表示數(shù)字月份,它可以接受 01、1 這樣的格式;而 %M 表示英文月份,需要精確匹配。
分隔符:在格式字符串中使用的分隔符必須與實(shí)際字符串中使用的分隔符一致。例如,如果實(shí)際字符串中使用了”-”作為日期分隔符,那么格式字符串中也必須使用”-”作為分隔符。
嚴(yán)格模式:當(dāng)格式字符串與實(shí)際字符串無法匹配時(shí),如果使用了嚴(yán)格模式(如在 MySQL 的配置文件中將 sql_mode 設(shè)置為 STRICT_ALL_TABLES),則會返回錯(cuò)誤;如果沒有使用嚴(yán)格模式,則會返回 NULL。
除了 STR_TO_DATE() 函數(shù)之外,還可以使用 UNIX_TIMESTAMP() 函數(shù)將字符串類型的時(shí)間轉(zhuǎn)換為 UNIX 時(shí)間戳。UNIX 時(shí)間戳表示從 1970 年 1 月 1 日 00 時(shí) 00 分 00 秒至當(dāng)前時(shí)間的秒數(shù),它是一個(gè)整數(shù)。例如:
SELECT UNIX_TIMESTAMP(2019-08-14 21:12:23
這條 SQL 語句將會返回一個(gè)整數(shù),表示 2019 年 8 月 14 日 21 時(shí) 12 分 23 秒的 UNIX 時(shí)間戳。
由于 UNIX 時(shí)間戳和 MySQL 中的時(shí)間類型都是 UTC 時(shí)間,因此它們可以直接進(jìn)行比較和計(jì)算。例如,可以使用 UNIX_TIMESTAMP() 將時(shí)間類型轉(zhuǎn)換為 UNIX 時(shí)間戳,再進(jìn)行相減,得出兩個(gè)時(shí)間的時(shí)間差。例如:
SELECT UNIX_TIMESTAMP(2019-08-14 21:12:23
) - UNIX_TIMESTAMP(2019-08-14 21:12:21
這條 SQL 語句將會返回一個(gè)整數(shù),表示 2019 年 8 月 14 日 21 時(shí) 12 分 23 秒與 2019 年 8 月 14 日 21 時(shí) 12 分 21 秒之間的時(shí)間差,即 2 秒。
除了將字符串類型的時(shí)間轉(zhuǎn)換為時(shí)間類型,還可以使用 DATE_FORMAT() 函數(shù)將時(shí)間類型轉(zhuǎn)換為字符串類型。該函數(shù)的語法如下:
DATE_FORMAT(date, format)
其中,date 為要轉(zhuǎn)換的時(shí)間,format 為返回的字符串格式。例如:
SELECT DATE_FORMAT(NOW(), %Y-%m-%d %H:%i:%s
這條 SQL 語句將會返回當(dāng)前時(shí)間的字符串表示,格式為”YYYY-MM-DD HH:MI:SS”。
以上就是關(guān)于“MySQL 中怎么進(jìn)行時(shí)間轉(zhuǎn)換”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道。
向 AI 問一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!