将varchar转换为datetime类型

时间:2013-04-08 09:26:33

标签: mysql

我需要帮助将varchar类型列转换为DATETIME类型的日期时间,我只需要它的时间部分。即我的列中包含以下值:

Verified_date
04/04/2013 03:17:08 PM
05/04/2013 10:10:13 AM
04/04/2013 03:45:15 PM

我只需要时间部分,即

Time
03:17:08 PM
10:10:13 AM
03:45:15 PM

3 个答案:

答案 0 :(得分:1)

尝试此查询,只需添加结尾格式 -

SELECT TIME(STR_TO_DATE('04/04/2013 03:17:08 PM', '%d/%c/%Y %h:%i:%s %p'));
+----------+
| 15:17:08 |
+----------+

一个更简单的解决方案 -

SELECT SUBSTRING_INDEX('04/04/2013 03:17:08 PM', ' ', -2);
+-------------+
| 03:17:08 PM |
+-------------+

答案 1 :(得分:1)

您可以使用DATE_FORMAT

来使用此查询
Select DATE_FORMAT(STR_TO_DATE(('04/04/2013 03:17:08 PM'), '%d/%m/%Y %r '), '%r')

此声明将为您提供所需的格式化日期03:17:08 PM

您可以查看SQL Fiddle

答案 2 :(得分:0)

试试这个

select DATE_FORMAT(STR_TO_DATE(start, '%d/%m/%Y %r'), '%r') from your_table;

参考date-and-time-functions