Чтобы ответить на ваш вопрос, ПОЧЕМУ дата по умолчанию не отображает часть ВРЕМЯ, единственный ответ, который я нахожу, -
Команды Oracle состоят из разработчиков LAZY или ответственных лиц: -)
Почему?
Поскольку в SQL существуют типы данных DATE, TIME и DATETIME, а Oracle еще не реализовала их !!!
Это позор для Oracle.
Но правильным решением вашей проблемы является не определение формата по умолчанию FIX, а SIGNIFICANT формат по умолчанию, который отображает только значащие цифры, так что отображаемые значения DATE, TIME или DATETIME (по умолчанию) всегда содержат все важные цифры.
Пример:
2015-10-14 will be displayed as 2015-10-14 (or default DATE format)
2018-10-25 12:20:00 will be displayed as 2018-10-25 12:20
1994-04-16 16 will be displayed as 1994-04-16 16
Принцип прост.
Все цифры, являющиеся частью DATE, всегда будут отображаться как INTEGER часть числа с плавающей запятой. Для части TIME будет отображаться только значимая часть, как для части DECIMAL в номере с плавающей запятой.
Естественно, для типа TIME (только ЧЧ: ММ: СС) часть DATE никогда не отображается.