oracle 获取当前时间:sysdate;
sqlserver获取当前时间:getdate();
oracle 时间比较sql和两时间相差转化为时分秒:
SELECT
CASE WHEN a.F_starttime + numtodsinterval (b.f_examtime, 'minute') <= sysdate THEN 'true' ELSE 'false' END flag,
substr (numtodsinterval ((a.F_starttime + numtodsinterval (b.f_examtime, 'minute') -sysdate)*24, 'hour'), 12, 8) remain
FROM exam_exam_score a
, EXAM_EXAMPLAN_PAPER_REL b
WHERE a.f_examplanid = b.F_examplanid AND a.F_paperid = b.F_paperid AND a.F_examplanid = '32a778ad-83e4-4724-b350-1c7bfdbe2ef6' AND a.F_paperid = '61711a63-cd74-44ac-8b06-cf4b02f52742' AND a.F_personid = '33'
numtodsinterval (分钟数, 'minute') 为原来时间加分钟数
substr (numtodsinterval ((a.F_starttime + numtodsinterval (b.f_examtime, 'minute') -sysdate)*24, 'hour'), 12, 8)
为和当前时间比较后剩余时间转化为时分秒
sqlserver时间比较sql和两时间相差转化为时分秒:
SELECT
CASE WHEN dateadd(mi,b.f_examtime,a.F_starttime)<=convert(DATETIME,getdate(),120 ) THEN 'true' ELSE 'false' END flag ,convert(VARCHAR,( dateadd(mi,b.f_examtime,a.F_starttime)-getdate()),108) remain
FROM exam_exam_score a
, EXAM_EXAMPLAN_PAPER_REL b
WHERE a.f_examplanid = b.F_examplanid AND a.F_paperid = b.F_paperid AND a.F_examplanid = '32a778ad-83e4-4724-b350-1c7bfdbe2ef6' AND a.F_paperid = '61711a63-cd74-44ac-8b06-cf4b02f52742' AND a.F_personid = '33'