mysql sqlstate 22018_运行出错sqlcode=-420 sqlstate=22018,字符串自变量值不符合函数的要求,有没有高手给看看...

SELECTA2.RELITEM,D.DATEFLAG,B.PRJIDFROMTBM_ACTIVITYA2,TBM_PRJDATAD,TBM_PRJACTIVITYB,BAS_DPTD1,BAS_DPTD2WHERED.OBJECTID=B.ACTIDANDB.PRJID=D.PRJIDANDD.DATEFLAGBETWEEN'20111...

SELECT A2.RELITEM,D.DATEFLAG,B.PRJID

FROM TBM_ACTIVITY A2,TBM_PRJDATA D,TBM_PRJACTIVITY B,BAS_DPT D1,BAS_DPT D2

WHERE D.OBJECTID = B.ACTID AND B.PRJID=D.PRJID

AND D.DATEFLAG BETWEEN '201113' AND '201116' AND D.DATATYPE=1 AND D2.DPTID=INT(RTRIM(CHAR(1)))

AND B.ITEMID = 4164 AND D1.DPTID=INT(B.ITEMVALUE)

AND SUBSTR(D1.VIEWORDER,1,LENGTH(D2.VIEWORDER) )=(D2.VIEWORDER)

AND D.PRJID IN(SELECT A.PRJID FROM TBM_PRJLIST A,TBM_PRJLIST B WHERE A.PRJID=B.PRJID AND

B.ITEMID=4100 AND B.ITEMVALUE='0' AND A.ITEMID = 4103 AND A.ITEMVALUE IN (RTRIM('3')))

AND B.ACTID IN(SELECT ACTID FROM TBM_PRJACTIVITY WHERE ITEMID=4133 AND A2.ACTID=INT(ITEMVALUE))

AND D.ITEMID<>0

bas_dpt表中,dptid=1的部门vieworder的长度为2,把其中LENGTH(D2.VIEWORDER)换成2也报错,换成LENGTH(D2.VIEWORDER)-1或者1就没错了

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值