oracle / sql将dd.mmm值插入日期列

时间:2015-12-09 17:45:11

标签: sql oracle date date-format

必须使用此cmd在oracle aplication express中创建一个表

create table predari
(
numar number(4), 
data date, 
cantitate number(4,2), 
cod_pdr number(2)
)

它在表格中的样子将是这种格式 - > 20.oct < - 但是当我尝试使用此cmd

插入值时
insert into predari values(100, 20.oct , 50, 60) 
--i get error of missing commas

insert into predari values(100, '20.oct' , 50, 60)
--i get *ORA-01840: input value not long enough for date format

insert into predari values(100, '20.october' , 50, 60)
--i get *ORA-01861: literal does not match format string

所以我需要的格式是 dd.mmm ,但我不知道问题出在哪里,有什么帮助吗?

编辑:p.s.我想以这种方式插入值,而不是让他们用那种格式的select显示,如果我从表中选择*我希望它显示为20.oct

1 个答案:

答案 0 :(得分:0)

将字符串文字插入date列时,您实际上正在执行隐式类型转换,该转换依赖于数据库的默认日期格式。

即使它可以工作,这也是一种不好的做法,因为它将您的代码耦合到特定的配置并使其不那么便携。相反,您应明确声明您要使用的日期格式,例如,使用to_date函数:

INSERT INTO predari VALUE (100, TO_DATE('20.oct', 'dd.mon') , 50, 60)