Вставить форматированную функцию даты, используя Oracle SQL * PLus? - PullRequest
0 голосов
/ 29 октября 2011

Я новичок в Oracle PL / SQL.По сути, у меня есть таблица, созданная следующим образом:

CREATE TABLE MYTABLE (
    ID                 VARCHAR2(3 CHAR) NOT NULL PRIMARY KEY,
    LAST_UPDATE        DATE
);

Я пытаюсь написать сценарий, который будет выполняться с помощью команды SQL * Plus:

insert into MYTABLE (
    id,
    last_update)
    values (
    sys_guid,
    --- Date call - what is placed here?
);

Что я могу сделать, чтобывставленная дата является правильной датой (на момент вставки) в следующем формате (какую функцию вызывать):

27-окт-11

Потребуется ли этот сценарий для выполнения из SQL* Плюс (прочитайте, что существует множество несовместимостей между ANSI SQL и PL / SQL, запущенными из SQL Developer против SQL * Plus).

Спасибо, что нашли время прочитать это!

1 Ответ

4 голосов
/ 29 октября 2011

Поля даты не имеют формата.Вы применяете формат, когда выбираете их, используя функцию to_char.Итак, что вы хотите сделать, это

insert into mytable 
  (id, last_update) 
values
  (sys_guid, SYSDATE);

И вы выбираете из него, используя

select id, to_char(last_update, 'DD-Mon-YY')
from mytable;
...