如何使用TO_DATE

时间:2015-07-22 13:20:29

标签: java sql oracle date-formatting

我从java获取输入到oracle

custom_date_in IN Table1.custom_date%TYPE,

输入为2015-07-11,将存储在custom_date_in

我希望将输入插入到列类型为日期类型

的表中

我尝试使用以下sql但失败了,

INSERT INTO Table1(custom_date)SELECT TO_DATE(custom_date_in,' YYYY-MM-DD')FROM TABLE

以下是我收到的错误消息

  

ORA-01861:literal与格式字符串

不匹配

1 个答案:

答案 0 :(得分:2)

  

custom_date_in IN T_MT_APP_DATE.custom_date%TYPE,

IN 参数已经是 DATE 数据类型,为什么要将日期转换为日期?您需要 TO_DATE 才能将日期文字转换为日期。

因此,只需将日期值分配给变量:

custom_date := custom_date_in;

此外,在分配值时,您缺少冒号。请注意,在 PL / SQL 中,您需要使用:=代替=

或者,您可以将日期值作为字符串2015-07-11传递,即 VARCHAR2 ,然后应用TO_DATE(custom_date_in,'YYYY-MM-DD') ANSI 日期文字{ {1}}。