我在MYSQL数据库中有一个表,其中一列(Incident_Time)的值如03:15 A和12:30 P存储为varchar数据类型。但是,我想将数据类型从varchar更改为timestamp(time),以便将这些值视为时间值。例如,时间为10:37 AM。
-------------
Incident_Time
--------------
| 10:37 A |
| 03:15 A |
| 12:20 P |
我尝试了以下代码:
UPDATE incident_tab_22
SET Incident_Time = str_to_date(Incident_Time, '%h:%i %p');
我一直收到以下错误信息:
错误1411(HY000):日期时间值不正确:函数str_to_date的"10:37 A"
作为替代解决方案,我还尝试了:
select *, SELECT STR_TO_DATE(Incident_Time, '%h:%i %p') ; as Time_of_Incident from incident_tab_22;
这只会导致创建一个列(Time_of_Incident),其中所有值都为NULL。我将感谢任何帮助,我可以得到这个问题。谢谢。
1条答案
按热度按时间9ceoxa921#
要使用%p,您需要添加一个M:
fiddle