我的数据库中有一个字段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
答案 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