Sql 如何在表中插入日期?

Sql 如何在表中插入日期?,sql,oracle,date,oracle-apex-5,oracle-apex-5.1,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 uni

我有这个表格,但我不确定输入日期的格式

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”:无效标识符


新错误:

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

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('23-JAN-13', 'DD-MON-YY')

'23-JAN-13'
不是日期,而是字符串。避免使用两位数的年份
'YY'
。这就是2000年虫开始出现的原因

要插入
日期
值:

使用带有适当格式掩码的日期:

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

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

DATE '2020-05-09'

检查表中的
hireDate
格式。尽管所有注释都正确格式化了数据字符串,转换为实际日期数据类型,但这些都与实际报告的错误消息无关。消息说HIREDATE是无效的标识符。换句话说,表中没有名为HIREDATE的列。我还要重申,使用两位数的年份是完全愚蠢的。1998年和1999年的大部分时间里,我都在为我当时的雇主解决Y2k问题。现在我们正在培养一代拒绝吸取教训的新一代。这是唯一可能的模式吗?我可以做DD-MM-YYYY吗?也感谢您的帮助现在我用DD-MM-YYYY格式收到这个错误,而且您的格式(YYYY-MM-DD)也不起作用
ORA-01847:如果您真的必须坚持当前的非ANSI日期文字,则月日必须介于1日和月底之间
@FiveNine Use
TO_DATE('23-JAN-13','DD-MON-YY')
。@GordonLinoff扮演魔鬼代言人,如果OP希望每条记录都有一个唯一的客户ID,然后使用union和union all可能会有稍微好一点的性能。我尝试了后者,即使日期和月份值小于12,也会出现这个错误
ORA-01847:月日必须介于月1日和月最后一日之间
@FiveNine告诉我你在做什么,复制粘贴你的会话。我无法复制粘贴这里的代码,它总是乱七八糟的,所以我拍了一张截图放在imgur上该死的,对不起。谢谢你帮助我!