Как нужно указать тип столбца, чтобы при вставке создавалось время в заданном формате?
Как нужно указать тип столбца в таблице, чтобы при вставке создавалось время такого формата -- 17:50:09.0?
Таблица – Edit – Columns – Type (Что тут нужно выбрать?)
Или для значенния по умолчанию - Default, что нужно указать, чтобы был только формат времени - 17:50:09.0?.
Ответы (1 шт):
Формат хранения даты и времени изменить невозможно (см. ниже).
Если нужен символьный формат колонки содержащий только время, то создайте колонку для хранения даты/времени DATE и дополнительно к ней виртуальную колонку.
Например (на db<>fiddle):
create table t (
id int, dt date default sysdate,
time char(10) as (to_char (dt, 'hh24:mi:ss".0"')))
/
insert into t (id) values(1);
Формат значений, полученных из виртуальной колонки известен заранее и не зависит от каких-либо настроек:
select id, time from t;
ID TIME
---------- ----------
1 11:22:33.0
Формат хранения даты и времени выглядит так:
DUMP(DT,16)
---------------------------------
Typ=12 Len=7: 78,79,6,17,17,23,22
И изменить его могут только разработчики Oracle.
Если при поиске будет найдено решение, предлагающее хранить дату или время как символьную строку, то оно заведомо неверно.