MySQL str_to_date()函数
轉(zhuǎn)載自??MySQL str_to_date()函數(shù)
MySQL STR_TO_DATE函數(shù)簡介
下面說明了STR_TO_DATE()函數(shù)的語法:
STR_TO_DATE(str,fmt);STR_TO_DATE()根據(jù)fmt格式字符串將str字符串轉(zhuǎn)換為日期值。?STR_TO_DATE()函數(shù)可能會根據(jù)輸入和格式字符串返回DATE,TIME或DATETIME值。 如果輸入字符串是非法的,則STR_TO_DATE()函數(shù)返回NULL。
STR_TO_DATE()函數(shù)掃描輸入字符串來匹配格式字符串。格式字符串可能包含以百分比(%)字符開頭的文字字符和格式說明符。 查看格式說明符列表的DATE_FORMAT函數(shù)。
STR_TO_DATE()函數(shù)在數(shù)據(jù)遷移中非常有用,涉及從外部格式到MySQL時間數(shù)據(jù)格式的時間數(shù)據(jù)轉(zhuǎn)換。
MySQL STR_TO_DATE示例
我們來看一些使用STR_TO_DATE()函數(shù)將字符串轉(zhuǎn)換成日期和/或時間值的例子。
以下語句將字符串轉(zhuǎn)換為DATE值,如下所示 -
mysql> SELECT STR_TO_DATE('21,5,2018','%d,%m,%Y'); +-------------------------------------+ | STR_TO_DATE('21,5,2018','%d,%m,%Y') | +-------------------------------------+ | 2018-05-21 | +-------------------------------------+ 1 row in set根據(jù)格式字符串格式'%d,%m,%Y',STR_TO_DATE()函數(shù)掃描'21,5,2018'輸入字符串。
- 首先,它嘗試在輸入字符串中找到%d格式說明符的匹配項,這是一個月的日期(01 … 31)。 因為21號與%d說明符相匹配,所以該函數(shù)將21作為日期值。
- 第二步,因為格式字符串中的逗號(,)字符串與輸入字符串中的逗號匹配,所以函數(shù)繼續(xù)檢查第二個格式說明符%m,這是一個月(01 … 12),并且發(fā)現(xiàn)數(shù)字?5與%m格式說明符匹配。以數(shù)字5為月份。
- 第三步,在匹配第二個逗號(,)之后,STR_TO_DATE()函數(shù)會繼續(xù)找到第三個格式說明符%Y的匹配項,它是四位數(shù)的年份,例如2012,2013等,它的編號為2013 年值。
STR_TO_DATE()函數(shù)在根據(jù)格式字符串解析輸入字符串時忽略輸入字符串末尾的額外字符。 請參閱以下示例:
mysql> SELECT STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y'); +------------------------------------------------------+ | STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y') | +------------------------------------------------------+ | 2013-05-21 | +------------------------------------------------------+ 1 row in setSTR_TO_DATE()將輸入字符串不提供的所有不完整的日期值設(shè)置為零。 請參閱以下示例:
mysql> SELECT STR_TO_DATE('2018','%Y'); +--------------------------+ | STR_TO_DATE('2018','%Y') | +--------------------------+ | NULL | +--------------------------+ 1 row in set因為輸入字符串只提供年值,所以STR_TO_DATE()函數(shù)返回一個日期值,它的月和日設(shè)置為零。
以下示例將時間字符串轉(zhuǎn)換為TIME值:
mysql> SELECT STR_TO_DATE('113005','%h%i%s'); +--------------------------------+ | STR_TO_DATE('113005','%h%i%s') | +--------------------------------+ | NULL | +--------------------------------+ 1 row in set類似于未指定的日期部分,STR_TO_DATE()函數(shù)將未指定的時間部分設(shè)置為零,請參見以下示例:
mysql> SELECT STR_TO_DATE('11','%h'); +------------------------+ | STR_TO_DATE('11','%h') | +------------------------+ | NULL | +------------------------+ 1 row in set以下示例將字符串轉(zhuǎn)換為DATETIME值,因為輸入字符串提供日期和時間部分。
mysql> SELECT STR_TO_DATE('20130101 1130','%Y%m%d %h%i') ; +--------------------------------------------+ | STR_TO_DATE('20130101 1130','%Y%m%d %h%i') | +--------------------------------------------+ | 2013-01-01 11:30:00 | +--------------------------------------------+ 1 row in set在本教程中,我們向您展示了使用MySQL?STR_TO_DATE()函數(shù)將字符串轉(zhuǎn)換為日期和時間值的各種示例。
總結(jié)
以上是生活随笔為你收集整理的MySQL str_to_date()函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杜达对WordPress。com比较-一
- 下一篇: MySQL sysdate()函数