我有这张桌子,但是我不确定输入日期的格式
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”:无效的标识符
答案 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'