将Varchar更改为Time类型

时间:2011-06-27 16:09:38

标签: php mysql sql database

在表格中,我有一个名为CallTime的字段(Varchar)。

它包括时间,如下午8:00,晚上8:40,上午10:00

我想将字段类型更改为时间并更新时间格式..如何才能完成?

由于

4 个答案:

答案 0 :(得分:1)

我会按以下步骤执行此操作:

  • 创建名为CallTimeNew;
  • 的时间类型列
  • 编写一个脚本,该脚本从CallTime获取值,使用mktime()和朋友将其转换为时间,并将其写入CallTimeNew;
  • 删除CallTime列并将CallTimeNew列重命名为CallTime

答案 1 :(得分:1)

UPDATE table_name SET CallTimeNew = DATE_FORMAT(STR_TO_DATE(CallTime,'%l:%i %p'), '%H:%i:%s');

或者只是像其他用户建议的那样更改列类型。

答案 2 :(得分:0)

在MySQL中,我可以将字段类型从varchar更改为time,并自动将格式从1:30 PM更改为01:30:00。

否则,您可以编写一个小的PHP脚本来循环遍历,使用date和strtotime格式化它们,然后在切换字段类型之前将它们以正确的格式插回。

答案 3 :(得分:0)

ALTER TABLE [TableName]
ALTER COLUMN Time DATETIME NULL;