как вставить дату и время в оракул? - PullRequest
38 голосов
/ 24 сентября 2011

У меня проблемы с вставкой строки в мою таблицу. Вот инструкция вставки и создание таблицы. Это часть единого задания, отсюда и простота, что я делаю не так? Я использую Oracle SQL Developer Версия 3.0.04. '

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

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)
)
;

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

РЕДАКТИРОВАТЬ: Это не имеет смысла, я ввожу только время в поле, чтобы проверить, работает ли время, и выводит ли дату WTF? Это действительно странно, я не могу использовать поле даты и просто ввести время, я понимаю, что это приведет к проблемам манипулирования данными, но это не имеет смысла ...

Ответы [ 4 ]

39 голосов
/ 07 октября 2013

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

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

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

35 голосов
/ 24 сентября 2011

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

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

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

6 голосов
/ 24 сентября 2011

Попробуйте это:

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

2 голосов
/ 08 апреля 2018

Просто используйте функцию 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'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...