我在mysql中存储了一个时间,该列被设置为时间,所以它读取13:16:00
。当我尝试运行时
SELECT TIME_FORMAT ('alarm_time', '%H:%i) FROM `Alarm`;
我得到一个NULL
,我正在尝试获得13:06
的结果。
最佳答案
alarm_time
周围的引号导致其被解释为字符串。如果删除它们或用反引号将它们括起来,它将被解释为表的列,其中包含日期。
这些都应该有效
SELECT TIME_FORMAT (alarm_time, '%H:%i' ) FROM `Alarm`;
或
SELECT TIME_FORMAT (`alarm_time`, '%H:%i' ) FROM `Alarm`;
关于您在评论中提出的比较问题,如果我理解正确,您可以使用类似的方法来做到这一点
yourDate between SUBTIME(yourOtherDate, '00:00:30') and ADDTIME(yourOtherDate, '00:00:30')
或任何其他间隔
关于mysql - TIME_FORMAT 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43127707/