我有一个日期时间字段,显示为例如2019-05-13 13:01:39
。
我希望它在SQL中以1-2pm
或13-14pm
的形式出现。
同样,2019-05-03 19:31:31
应该显示为7-8
或19-20
。
在SQL中使用查询是否有可能?
答案 0 :(得分:2)
您可以使用EXTRACT
的{{1}}函数来获取日期或时间的任何部分。访问Here了解更多详情
MySql
答案 1 :(得分:1)
这是使用DATE_FORMAT和DATE_ADD和24小时制的解决方案
SELECT CONCAT(DATE_FORMAT('2019-05-03 19:31:31', '%H'), '-',
DATE_FORMAT(DATE_ADD('2019-05-03 19:31:31', INTERVAL 1 HOUR), '%H'))
和具有12小时制的相同解决方案
SELECT CONCAT(DATE_FORMAT('2019-05-03 19:31:31', '%h'), '-',
DATE_FORMAT(DATE_ADD('2019-05-03 19:31:31', INTERVAL 1 HOUR), '%h %p'))
这将输出
小时
19-20
下午07-08
有趣的是,如果时间是晚上11点之后,则会提供以下输出
小时
23-00
上午11点至12点
这比23-24好吗?或者这只是显示时间的一种不好方法?也许对于12个小时的时钟,每次过后最好有AM / PM
11 PM-12 AM