我需要SQL转换语句的帮助。我有NetQuanity(masterTable),这是一个varchar(15),我有另一张桌子,购买价格(PO TABLE),这是钱。当我尝试在SQL视图中将它们相乘时,会给出错误:
答案 0 :(得分:4)
如果您的字段是VARCHAR,则需要在操作之前将CAST转换为适当的数据类型。 e.g。
CAST(myVarCharField as INT) * myIntField
但要预先警告,如果您尝试将此字段设为数字数据类型并且它不是数字,那么您将在同一条船上。
我建议您在示例中使用CAST
而不是CONVERT
,原因如下:
答案 1 :(得分:2)
也许尝试使用CONVERT
功能? CONVERT(money,NetQuantity)
。
答案 2 :(得分:0)
首先,您遇到了数据定义问题。 第一件事是消除主表中的任何非数字条目。
SELECT whatever FROM masterTable WHERE ISNUMERIC(NetQuanity)=1
下一步是将其作为计算中的子查询 在此查询中,使用CONVERT或CAST将有效数量转换为整数。 即。
CONVERT(INT, NetQuantity)