如何在表格中插入日期?

时间:2020-05-09 05:15:52

标签: sql oracle date oracle-apex-5 oracle-apex-5.1

我有这张桌子,但是我不确定输入日期的格式

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 个答案:

答案 0 :(得分:3)

尝试使用有效的日期文字:

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的TO_DATE函数:

TO_DATE('23-JAN-13', 'DD-MON-YY')

答案 1 :(得分:3)

'23-JAN-13'不是日期,而是一个字符串。避免使用两位数的年份'YY'。这就是 Y2K 错误开始的原因。

要插入DATE值:

使用TO_DATE和适当的格式掩码:

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

或者,

ANSI日期文字,它使用固定格式'YYYY-MM-DD'

DATE '2020-05-09'
相关问题