简体   繁体   中英

SQL Convert statement

I need help with a SQL convert statement. I have NetQuanity (masterTable) which is a varchar(15) and I have another table with Purchase price (PO TABLE) which is money. When I try to multiply them in a SQL view is gives me the error:

在此处输入图片说明

If your field is a VARCHAR, you'll need to CAST to the appropriate data type prior to your operation. eg

CAST(myVarCharField as INT) * myIntField

Be forewarned however, if you attempt to CAST this field to a numeric data type and it's not numeric, you'll be in the same boat.

I would recommend using CAST over CONVERT in your example, for the following reason defined in this SO post:

Related: T-SQL Cast versus Convert

Maybe try using the CONVERT function? CONVERT(money,NetQuantity) .

First of all you have a data definition problem. The first thing is to eliminate any non-numeric entries in the master table.

SELECT whatever FROM masterTable WHERE ISNUMERIC(NetQuanity)=1

The next step is to include this as a sub-query in the calculation.
In this query use CONVERT or CAST to convert the valid quanities to integer. ie

CONVERT(INT, NetQuantity)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM