我在查询中收到以下错误:
在“DECFLOAT”函数的字符串参数中找到无效字符。
但是我没有对我选择的任何字段进行任何更改:
select
RQH.COMPANY,
RQH.LAST_APRV_DT,
RQH.CREATION_DATE,
RQH.RELEASED_DATE,
RQH.REL_OPER_ID,
RQH.REQ_NUMBER,
RQH.REQUESTER,
RLN.COMPANY,
RLN.BUYER,
RLN.DESCRIPTION,
RLN.TRAN_UNIT_COST,
RLN.QUANTITY,
RLN.ITEM,
RLN.VEN_ITEM,
RLN.LINE_NBR,
RLN.MANUF_CODE,
RLN.MANUF_NBR,
RLN.VENDOR,
RLN.REQ_NUMBER,
RLN.ENTERED_UOM,
MMD.LINE_NBR,
MMD.DOC_NBR_NUM,
VEN.VENDOR_VNAME,
VEN.VENDOR_GROUP,
VEN.VENDOR
from mmd
join rln on MMD.COMPANY = rln.COMPANY and MMD.DOC_NBR_NUM = rln.REQ_NUMBER
and MMD.LINE_NBR = rln.LINE_NBR
join cpy on rln.company = cpy.company
join ven on VEN.VENDOR_GROUP = cpy.VENDOR_GROUP and VEN.VENDOR = rln.VENDOR
join rqh on RLN.COMPANY = RQH.COMPANY and RLN.REQ_NUMBER = RQH.REQ_NUMBER
where ven.vendor = 20200
答案 0 :(得分:0)
您的一个比较一方面是数字数据类型,另一方面是字符数据类型。该对中字符列中的一个值无法转换为数字。 Db2 data type conversion rules表示如果一个操作数是数字而另一个是字符类型,则字符值将被隐式强制转换为数字。对于无法强制的值,这显然会失败。如果这是一个有效值,您需要显式地将数字列转换为字符数据类型(根据需要用空格填充它)。
答案 1 :(得分:0)
如果删除" WHERE"条款一共,你仍然得到错误或它消失了吗?