我需要帮助将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
答案 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;