Sql 将数据类型varchar转换为float时出错

Sql 将数据类型varchar转换为float时出错,sql,Sql,我有下面的SQL语句,它给了我这个错误 此行中的“将数据类型varchar转换为float时出错” , pe.ProductWeight + ' lb' AS weight 我知道这是错误的,但我不知道如何在重量值上加上“lb”。任何帮助都将不胜感激 SELECT p.ProductCode AS id , p.ProductName AS title , 'Home & Garden > Household Appliance Accessories >

我有下面的SQL语句,它给了我这个错误

此行中的“将数据类型varchar转换为float时出错”

   ,  pe.ProductWeight + ' lb' AS weight
我知道这是错误的,但我不知道如何在重量值上加上“lb”。任何帮助都将不胜感激

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
选择p.ProductCode作为id
,p.ProductName作为标题
“家居和花园>家用电器配件>洗衣电器配件”作为产品类型
,价格为空(pe.SalePrice,pe.ProductPrice)
,IsNull(pe.ProductManufacturer,'n/a')作为品牌
,IsNull(pe.ProductCondition,'new')作为条件
,将(VARCHAR(10),(GETDATE()+30),120)转换为到期日
,pd.ProductDescription短为[stripHTML描述]
,  'http://www.thesite.com/v/vspfiles/photos/“+IsNull(p.Vendor\u PartNo,p.ProductCode)+”-2.jpg”作为图像链接
,  'http://www.thesite.asp?ProductCode=“+p.ProductCode+”&单击=1327”作为链接
,pe.ProductWeight+磅作为重量
来自产品p
p.ProductID=pd.ProductID上的内部联接产品描述
内部联接产品\u pd.ProductID=pe.ProductID上的扩展pe
其中(p.IsChildOfProductCode为NULL或p.IsChildOfProductCode='和(p.HideProduct为NULL或p.HideProduct'Y'))
和(pe.ProductPrice>0)
按p.ProductCode订购

如果要连接浮点和字符串,需要先将浮点转换为字符串:

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

Varchar的优先级低于float,因此它试图将“lb”转换为float,但失败了


请参阅排名。

LOL,看起来很简单。Thx 20将是最大长度,对吗?