Подтвердить что ты не робот

Как вставить дату и время в оракул?

У меня возникла проблема с вставкой строки в мою таблицу. Вот инструкция insert и создание таблицы. Это часть присвоения uni, следовательно, простота, что я делаю неправильно? Im с использованием oracle SQL-разработчика версии 3.0.04.

Проблема, с которой я сталкиваюсь, заключается в том, что она только вставляет dd/mon/yy, но не время. Как мне заставить его также вставить время?

INSERT INTO WORKON (STAFFNO,CAMPAIGNTITLE,DATETIME,HOURS)
VALUES ('102','Machanic Summer Savings',TO_DATE('22/April/2011 8:30:00AM','DD/MON/YY HH:MI:SSAM'),'3')
;

CREATE TABLE WorkOn
(
    StaffNo        NCHAR(4),
    CampaignTitle  VARCHAR(50),
    DateTime       DATE,
    Hours          VARCHAR(2)
)
;

Спасибо за помощь.

EDIT: Это не имеет никакого смысла, я ввожу только время в поле, чтобы проверить, работает ли время, и выводит дату WTF? Это действительно странно, я не могу использовать поле даты и просто вводить время, я понимаю, что это приведет к проблемам с манипулированием данными, но это не имеет смысла...

4b9b3361

Ответ 1

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

alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss'

или что-то подобное, включая компонент времени, вы увидите, что время успешно попало в базу данных.

Ответ 2

Вы можете использовать

insert into table_name
(date_field)
values
(TO_DATE('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss'));

Надеюсь, что это поможет.

Ответ 3

Попробуйте следующее:

... (to_date('2011/04/22 08:30:00', 'yyyy/mm/dd hh24:mi:ss'));

Ответ 4

Просто используйте функцию TO_DATE() для преобразования строки в DATE.

Например:

create table Customer(
       CustId int primary key,
       CustName varchar(20),
       DOB date);

insert into Customer values(1,'Vishnu', TO_DATE('1994/12/16 12:00:00', 'yyyy/mm/dd hh:mi:ss'));