如何从datetime列中仅选择日期?

时间:2018-10-31 06:27:24

标签: php mysql datetime

我有一列VARCHAR类型的值,例如:

05:47 PM 09/15/2017.

我想从datetime中提取日期。

我有这个:

(05:47 PM 09/15/2017)

但是我想要这个:

(09/15/2017)

在mysql中。

2 个答案:

答案 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];