我有一列VARCHAR类型的值,例如:
05:47 PM 09/15/2017.
我想从datetime中提取日期。
我有这个:
(05:47 PM 09/15/2017)
但是我想要这个:
(09/15/2017)
在mysql中。
答案 0 :(得分:3)
您可以使用STR_TO_DATE
将值转换为MySQL可以识别的日期,然后使用DATE_FORMAT
以所需的格式输出日期。
SELECT DATE_FORMAT(STR_TO_DATE('05:47 PM 09/15/2017', '%h:%i %p %m/%d/%Y'), '%m/%d/%Y')
输出
09/15/2017
答案 1 :(得分:1)
最好在mySQL中将dateTime值保存为DateTime类型,这样您就可以选择这样的日期
SELECT date(yourColumnName) FROM yourTable
但是在这种情况下,您将需要使用php或mysql来解析您的字符串。 如果每个日期的格式都相同,则可以使用mysql的子字符串方法。
SELECT SUBSTRING(yourColumnName, 10) FROM yourTable
其中10表示字符串中日期的开始。 您可以使用php进行相同操作,也可以爆炸字符串,然后像这样检索日期:
$explodedString = explode(" ", $dateTimeStringFromDB);
echo $explodedString[2];