我有一个时间值作为varchar(4)存储在数据库中,我需要将其转换为实时值。
例如,如果时间是“ 23:59”,我想返回11:59 PM。
问题在于小时和分钟之间没有“:”。所以当我运行这个查询
SELECT TIME_FORMAT('2359', '%h:%i'); -- 12:23, wtf??
但是,如果我执行此操作:
SELECT TIME_FORMAT('23:59', '%h:%i'); -- returns 11:59 as expected.
因此,总结一下: 1.时间以varchar(4)的形式存储在数据库中。示例:
1200, 1201, 0153, 1364, 1923
- 我希望时间以12小时制返回,其中带有一个冒号。
我的脑痛,这比我意识到的要容易得多...
像这样,但是对于mysql 在SQL Server中将varchar转换为日期时间 mysql 12小时到24小时的时间转换
在您的第一个实验中,我想MySQL将'2359'解释为23分钟(em)和59秒(em)(而12表示凌晨12点)。以前从未在MySQL中注意到这一点,并且这里没有数据库可以重现,因此请一salt而就。
– Arthur ReutenauerNovember 13, 2009 20:43