必须使用此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
答案 0 :(得分:0)
将字符串文字插入date
列时,您实际上正在执行隐式类型转换,该转换依赖于数据库的默认日期格式。
即使它可以工作,这也是一种不好的做法,因为它将您的代码耦合到特定的配置并使其不那么便携。相反,您应明确声明您要使用的日期格式,例如,使用to_date
函数:
INSERT INTO predari VALUE (100, TO_DATE('20.oct', 'dd.mon') , 50, 60)