plsql日期转换错ORA-01830

简介: plsql日期转换错ORA-01830

plsql编写脚本时遇到一个日期转换的问题,如果在plsql调试时,脚本可以正常执行,但是程序调用时,就会报错ORA-01830: 日期格式在转换整个输入字符串之前结束

to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') -- oracle 为了区分分钟和月份,月份以mi表示
to_date('2004-05-07','yyyy-mm-dd')

to_date限制两者精确度须一致,比如to_date(‘2004-05-07 13:23:44’,’yyyy-mm-dd’)这个就无法转换

执行时传入的是’yyyy-mm-dd’这种形式的,而程序调用时传入值精确到秒,就报错了,解决办法就是用substr截取参数的年月日部分

--start_date为varchar2类型
select to_date(start_date,'yyyy-mm-dd')
select to_date(substr(start_date,1,10),'yyyy-mm-dd') # 年-月-日


相关文章
|
Oracle 关系型数据库 数据库
ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
|
SQL Oracle 关系型数据库
记录:java.sql.SQLException: ORA-00911: 无效字符...【亲测有效】
记录:java.sql.SQLException: ORA-00911: 无效字符...【亲测有效】
463 0
|
Oracle 关系型数据库
oracle学习30-ora-03135和plsql乱码问题
oracle学习30-ora-03135和plsql乱码问题
175 0
oracle学习30-ora-03135和plsql乱码问题
|
SQL Perl 关系型数据库
[20171220]toad plsql显示整形的bug.txt
toad 显示 整形 异常
1340 0
PLSQL的变量
为利用变量,必须在PLSQL语句块的声明部分中声明它。必须给变量赋予一个名称,定义其数据类型。也可以给这个变量赋予一个初始值。请注意,如果没有给变量赋予初始值,则值为Null。
873 0
|
SQL Perl
执行DBMS_REDEFINITION报ORA-42030错误
【背景】今天在做一个SAP表VBRP的在线重定义,报了如下的错误,这个报错的原因很清晰,就是由于VBRP_NEW20161221的有些字段有问题导致数据插入不进去; 点击(此处)折叠或打开 SQL> EXEC DBMS_REDEFINITION.
1409 0
|
Oracle 关系型数据库
PLSQL不好用,提示ora-12514 错误解决方法
我的PLSQL不好用,提示ora-12514 错误时 我分两步干的: 1:用户名,密码,不写,提示错误后,cancel登陆 tools->preference左侧选->connection,右侧Oracle Home 里面选择OraDb10g_home1。
1597 0
|
SQL 索引
TO_DATE函数索引报错ORA-01743
开发同学有一个需求,如下这张表: CREATE TABLE TBL_EFFDATE (ROUTID NUMBER(20,0) NOT NULL, EFFDTE CHAR(7), EDDATE CHAR(7), ICID CHAR(1), FREQ CHAR(7) ); 其中EFFDTE保存的是DDMONYY格式的日期,由于表之前未有归档机制,因此产生了许多垃圾数据,现在需要根据EFFDTE删除16年以前的所有数据,表的数据量在百万级,16年以前的占了绝大部分。
1044 0