我需要一个SQL convert语句的帮助。我有NetQuanity (masterTable),它是一个varchar(15),我有另一个包含购买价格的表(PO表),它是钱。当我尝试在SQL视图中将它们相乘时,会出现错误:

发布于 2011-12-03 04:40:33
如果您的字段是VARCHAR,则需要在操作之前转换为适当的数据类型。例如:
CAST(myVarCharField as INT) * myIntField但是要预先注意,如果您试图将此字段转换为数字数据类型,而它不是数字类型,那么您将处于相同的境地。
我建议在你的例子中使用CAST而不是CONVERT,原因如下:
发布于 2011-12-03 04:41:15
也许可以尝试使用CONVERT函数-- CONVERT(money,NetQuantity)。
发布于 2011-12-03 04:51:35
首先,你有一个数据定义问题。第一件事是消除主表中的任何非数字条目。
SELECT whatever FROM masterTable WHERE ISNUMERIC(NetQuanity)=1下一步是将其作为子查询包括在计算中。
在此查询中,使用CONVERT或CAST将有效quanities转换为整数。即
CONVERT(INT, NetQuantity)https://stackoverflow.com/questions/8362337
复制相似问题