2011-09-10 62 views
2

このエラーが発生した次のSQL文があります。データ型varcharをfloatに変換中にエラーが発生しました

この行に
, pe.ProductWeight + ' lb' AS weight 

「フロートするデータ型varchar型の変換エラー」私は、これは間違っている実感が、私は重量値に「ポンド」を追加する方法がわかりません。どんな助けもありがとう。

SELECT p.ProductCode AS id 

, p.ProductName AS title 

, 'Home & Garden > Household Appliance Accessories > Laundry Appliance Accessories' AS product_type 

, IsNull(pe.SalePrice,pe.ProductPrice) AS price 

, IsNull(pe.ProductManufacturer,'n/a') AS brand 

, IsNull(pe.ProductCondition,'new') AS condition 

, CONVERT(VARCHAR(10), (GETDATE() + 30),120) AS expiration_date 

, pd.ProductDescriptionShort AS [stripHTML-description] 

, 'http://www.thesite.com/v/vspfiles/photos/' + IsNull(p.Vendor_PartNo,p.ProductCode) + '-2.jpg' AS image_link 

, 'http://www.thesite.asp?ProductCode=' + p.ProductCode + '&Click=1327' AS link 

, pe.ProductWeight + ' lb' AS weight 


FROM Products p 

INNER JOIN Products_Descriptions pd ON p.ProductID = pd.ProductID 

INNER JOIN Products_Extended pe ON pd.ProductID = pe.ProductID 

WHERE (p.IsChildOfProductCode is NULL OR p.IsChildOfProductCode = ' AND (p.HideProduct is NULL OR p.HideProduct <> 'Y') 

AND (pe.ProductPrice > 0) 

ORDER BY p.ProductCode 

答えて

4

あなたはフロートと文字列を連結する場合は、最初の文字列にフロートをキャストする必要があります。

CAST(pe.ProductWeight AS VARCHAR(20)) + ' lb' AS weight 
+0

LOLはかなり簡単です。 Thx 20は最大の長さでしょうか? – user357034

+0

はい、最大長は20です。 – Sparky

関連する問題