[英]invalid number format model oracle error inserting a char
我正在尝试创建一个Oracle存储过程,该存储过程只是在表中插入一行。 表(MEAS_IND)中有一列为char(1 byte)类型,不能为null。 当我尝试将任何一个字符插入到列/表中时,出现错误:
ORA-01481: invalid number format model ORA-06512: at "IFDC.PKG_FIELD_ASSISTANT", line 326 ORA-06512: at line 3 01481. 00000 - "invalid number format model" *Cause: The user is attempting to either convert a number to a string via TO_CHAR or a string to a number via TO_NUMBER and has supplied an invalid number format model parameter. *Action: Consult your manual.
我试过插入'','N'和to_char('')。 还有其他一些列不能为null,并且看起来可以正常工作。 当我注释掉MEAS_IND时,出现错误,它不能为null,因此我假设其他列都可以。 这是代码:
INSERT INTO myTable
(
cont_id
, cms_uid
, dwr_dt
, prj_nbr
, ln_itm_nbr
, loc_seq_nbr
, loc_instld
, vend_id
, rpt_qty
, itm_cd
, last_modfd_uid
, last_modfd_dt
, catg_nbr
, rmrks_id, plan_pg_ref_nbr, ref_doc, fr_sta_itm, fr_sta_dstnc, fr_sta_offst_t, fr_sta_offst_dstnc
, to_sta_itm, to_sta_dstnc, to_sta_offst_t, to_sta_offst_dstnc, meas_ind
)
VALUES
(
pContractId
, pUSER_ID
, pDRW_DATE
, pProject_num
, pPLN
, vMaxLocSeq
, pLocation
, pVend_id
, pAmount
, pItemCode
, pUSER_ID
, to_number(sysdate, 'YYYYMMDD')
, vCatigoryNumber
, ' ', ' ', ' ', ' ', 0, ' ', 0
, ' ', 0, ' ', 0, ' '
) ;
提前致谢
代替to_number(sysdate, 'YYYYMMDD')
,执行以下操作:
to_number(to_char(sysdate, 'YYYYMMDD'))
更好的是,如果在项目中为时不晚,则将last_modfd_dt
列更改为DATE
类型。 DATE
类型将包括日期和一天中的时间(小时,分钟,秒,但不包括小数秒)。 如果只需要日期而没有时间,则将其设置为trunc(sysdate)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.