Decimal literals are numeric, not floating point. 1.0 / 24.0 is numeric(18,2) so the value is 0.04 and not 0.041666... You need a double value, so use 1E0/24.
To answer your original question: in more recent versions of Firebird you can use DATEADD. Mark ----- Reply message ----- Van: "'Softtech Support' [email protected] [firebird-support]" <[email protected]> Aan: <[email protected]> Onderwerp: [firebird-support] Add 1 minute to a TimeStamp Datum: di, mrt. 10, 2015 21:01 Firebird v1.5.3 Does anyone know what's going on here? DECLARE VARIABLE tsTranCreateDate TimeStamp;DECLARE VARIABLE tsTest TimeStamp; Starting Value: tsTranCreateDate = 10/31/201 7:50:16 AM Two days:tsTest = (:tsTranCreateDate - (2.0)); Correctly returns 10/29/201 7:50:16 AM One hour: tsTest = (:tsTranCreateDate - (1.0/24.0)); Incorrectly returns 10/31/201 6:52:40 AM One minute: tsTest = (:tsTranCreateDate - (1.0/1440.0)); Incorrectly returns 10/31/201 7:50:16 AM One second: tsTest = (:tsTranCreateDate - (1.0/86400.0)); Incorrectly returns 10/31/201 7:50:16 AM Subtract 2 days works fine. Subtract 1 hour is wrong. Subtract one minute or 1 second does nothing Any ideas? Mike ----- Original Message ----- From: 'Softtech Support' [email protected] [firebird-support] To: Firebird Support Sent: Tuesday, March 10, 2015 2:22 PM Subject: [firebird-support] Add 1 minute to a TimeStamp Greetings All, What is the best way in a stored procedure to add a minute or a few seconds to a TimeStamp? Thanks, Mike This email has been checked for viruses by Avast antivirus software. www.avast.com This email has been checked for viruses by Avast antivirus software. www.avast.com
