Как вставить дату в таблицу? - PullRequest
2 голосов
/ 09 мая 2020

У меня есть эта таблица, но я не уверен, в каком формате вводятся даты

insert into Works (ClientID, CCode, BranchNo, EquipNo, HireDate)
select 001, 101, 01, 24500, '23-JAN-13' from dual union
select 002, 102, 01, 23200, '12-SEP-12' from dual union
select 003, 103, 01, 11500, '15-DEC-14' from dual union
select 004, 104, 01, 76830, '16-MAR-16' from dual union
select 005, 105, 01, 23760, '08-JUN-15' from dual

Это не работает, просто выдает такую ​​ошибку:

ORA-00904: «HIREDATE»: недопустимый идентификатор

Новая ошибка: https://m.imgur.com/gallery/LkrLsol

Ответы [ 2 ]

3 голосов
/ 09 мая 2020

'23-JAN-13' - это не дата, это строка. Избегайте использования двух ди git год 'YY'. По этой причине началась ошибка 2000 .

Чтобы вставить DATE значения:

Используйте TO_DATE с соответствующей маской формата:

TO_DATE('09-05-2020', 'DD-MM-YYYY')

Или

ANSI Литерал даты, он использует фиксированный формат 'YYYY-MM-DD':

DATE '2020-05-09'
3 голосов
/ 09 мая 2020

Попробуйте использовать допустимые литералы даты:

insert into Works (ClientID, CCode, BranchNo, EquipNo, HireDate)
select 001, 101, 01, 24500, date '2013-01-23' from dual union
select 002, 102, 01, 23200, date '2012-09-12' from dual union
select 003, 103, 01, 11500, date '2014-12-15' from dual union
select 004, 104, 01, 76830, date '2016-03-16' from dual union
select 005, 105, 01, 23760, date '2015-06-08' from dual

Вы также можете использовать Oracle s TO_DATE функцию:

TO_DATE('23-JAN-13', 'DD-MON-YY')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...