将文本列转换为时间

时间:2014-12-30 05:39:59

标签: php mysql sql

我有一个名为'slots'的表,其中一列的值为时段(如上午8:00,上午9:00,上午9:30等等)。但这些值存储为文本。我想把它们转换成时间。我尝试了以下查询

UPDATE 'slots' SET 'slot' = STR_TO_TIME('slot', '%h:%i %p')

但是它出现了以下错误

  

#1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在第1行''slots'SET'lot'附近'= STR_TO_TIME('slot','%h:%i%p')'

1 个答案:

答案 0 :(得分:1)

你需要使用后退滴答

UPDATE `slots` SET `slot` = TIME_FORMAT(TIME( STR_TO_DATE( `slot`, '%h:%i %p' ) ), '%h:%i %p' );

现在它被用作文字字符串而不是列。 back ticks表示列或表名不引用标记