Все остальные ответы в основном правильные, но я не думаю, что кто-то прямо ответил на ваш первоначальный вопрос.
Предполагая, что "date_and_time" в вашем примере является столбцом с типом DATE или TIMESTAMP, я думаю, вам просто нужно изменить это:
to_char(date_and_time + (.000694 * 31))
к этому:
to_char(date_and_time + (.000694 * 31), 'DD-MON-YYYY HH24:MI')
Похоже, формат даты по умолчанию использует код "ЧЧ" для часа, а не "ЧЧ24".
Кроме того, я думаю, что ваш постоянный термин является и запутанным, и неточным. Я предполагаю, что вы рассчитали, что (.000694) примерно равно значению минуты, а вы умножаете его на количество минут, которое вы хотите добавить (31 в примере, хотя в тексте вы сказали 30).
Я бы также начал с одного дня и разделил его на нужные вам единицы измерения в вашем коде. В этом случае (1/48) будет 30 минут; или если вы хотите разбить его на части для ясности, вы можете написать ((1/24) * (1/2)).
Это позволило бы избежать ошибок округления (за исключением тех, которые присущи с плавающей запятой, которые должны быть здесь бессмысленными) и является более понятным, по крайней мере для меня.