如何将nvarchar值转换为数据类型int ?
本文关键字:数据类型 int 转换 nvarchar | 更新日期: 2023-09-27 18:18:32
WITH FirstQuery AS (
select i.id, o.[name] from Item i
LEFT OUTER JOIN sys.objects o on o.[name]='I' + cast(i.id as nvarchar(20))
where o.name is not null
)
select PriceListItem.ProductExternalId,
FQ.Id, [PriceListItem].[ProductExternalDesc]
from FirstQuery FQ
inner join [Product] on Product.ItemId = FQ.name
and Product.InstanceId = FQ.ID
inner join [PriceListItem] on Product.ID = PriceListItem.ProductId;
出现错误:
将nvarchar值'I451'转换为数据时,转换失败int类型。
所以…您似乎正在尝试加入Product.ItemID (int) = FQ.name (varchar)
。
你为什么认为那可行?
样本数据可以帮助人们弄清楚你想要做什么以及你应该如何完成它。
如果您仍然想要连接这两列,并且当它是无效整型时不希望它匹配,则可以使用另一种方法。铸造产品。ItemID到varchar:
inner join [Product] on cast(Product.ItemID as varchar) = FQ.name