Тут кто-то опять на грабли наступил, взял дату-время сохранённые как double (как это часто делают Excel, Delphi), прибавил к дате.... И получил дату гуляющую на день вперёд-назад.
https://stackoverflow.com/questions/54574918/how-to-convert-double-precision-column-to-date-correctly/54588452#54588452
Эта грабля, она жёстко прошита в SQL-стандарте ?
Или можно сделать, чтобы при добавлении float к date дробная часть не учитывалась?
https://stackoverflow.com/questions/54574918/how-to-convert-double-precision-column-to-date-correctly/54588452#54588452
select 41516.514479, cast( 41516.514479 as integer), round( 41516.514479 ), 41516.514479 + DATE '1899-12-30', -- Здесь: 31.08.2013 floor( 41516.514479 ), floor( 41516.514479 ) + DATE '1899-12-30' -- Здесь: 30.08.2013 from rdb$database
Эта грабля, она жёстко прошита в SQL-стандарте ?
Или можно сделать, чтобы при добавлении float к date дробная часть не учитывалась?