我在
表中有一个
SOP10106
列,声明为包含所有数字的列,当我试图执行以下查询时,我得到了转换错误。
USRDEF05 varchar(30)
Select
DETAIL.SUBTOTAL as Sub_Total,
when USERDEF.USRDEF05 <> ' ' THEN USERDEF.USRDEF05
ELSE 0
END as Winsys
SOP10100 DETAIL
Right JOIN
SOP10106 USERDEF ON USERDEF.soptype = DETAIL.soptype
WHERE
BACHNUMB ='WINSYS112012'
谁能给我一个主意,如何解决这个错误?
因为你的数据库模式不正确(数字不应该作为文本存储),那么接下来不正确的语句也应该工作。
Select DETAIL.SUBTOTAL as Sub_Total, when USERDEF.USRDEF05 <> ' ' THEN USERDEF.USRDEF05 ELSE '0' END as Winsys