如何通过MySQL

时间:2015-04-23 04:18:53

标签: mysql datetime

我的数据库中有一个字段startTime,值为'7:00:00 PM',我想在此时间内添加20分钟并将其存储在endtime的新字段中。我希望endtime采用与startTime相同的格式,即{07; 20:00 PM',我使用ADDTIME,还有更多功能来执行此操作,但是无法获得AM/PM的格式,我使用了

DATE_ADD('NEXT_CONTACT_TIME', INTERVAL 20 MINUTE), DATE_FORMAT(ADDTIME(NEXT_CONTACT_TIME,'00:20:00'),'%h:%i:%s %p') as endTime

但是,我无法获得AM / Pm

2 个答案:

答案 0 :(得分:1)

使用此

DECLARE @StartTime TIME(0) = '07:00:00 AM'; --Time
DECLARE @MinutesToAdd INT = 20; --Added 20 Minutes
SELECT SUBSTRING((CONVERT(VARCHAR(8), DATEADD(MINUTE, @MinutesToAdd, @StartTime), 109)),0,8) + ' ' + RIGHT(CONVERT(VARCHAR(30), DATEADD(MINUTE, @MinutesToAdd, @StartTime), 9), 2) as Time

答案 1 :(得分:0)

根据我的知识,mysql默认时间格式为24HR,这意味着没有上午/下午你应该管理获取或获取数据后的时间。

  

日期和时间组合。支持的范围是' 1000-01-01   00:00:00'至' 9999-12-31 23:59:59'。 MySQL显示DATETIME值   ' YYYY-MM-DD HH:MM:SS'格式,但允许赋值给   使用字符串或数字的DATETIME列。

参考this