[英]Conversion failed when converting the varchar to int
我在SQL中遇到轉換錯誤。 我已經嘗試將Cast和Convert轉換為int,但是失敗了。
SELECT
ProdId, ParentCat, ProdFullName, ProdImage
FROM
Product
WHERE
ProdId IN (SELECT Compared FROM Product WHERE ProdId = 10803)
ProdId
為int
Compared
列是varchar
Compared
列值是:
32879, 10844, 10747, 81113, 8001, 81469
SELECT
ProdId, ParentCat, ProdFullName, ProdImage
FROM
Product
WHERE
ProdId IN (SELECT convert(int,ltrim(rtrim(Compared)))
FROM Product WHERE ProdId = 10803)
進一步了解CAST和CONVERT
在這種情況下,您只需將ProdId轉換為varchar。
WHERE
CAST(ProdId AS varchar(10)) IN (SELECT Compared FROM Product WHERE ProdId = 10803)
在這種情況下,您應該將查詢構建為字符串並執行它DECLARE @query VARCHAR(MAX) SELECT @query = 'SELECT ProdId, ParentCat, ProdFullName, ProdImage FROM Product WHERE ProdId IN (' + Compared + ')' FROM Product WHERE ProdId = 10803 EXEC (@query)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.