13

我想创建一个视图,该视图将显示由不同类型字段连接的两个表中的信息。一个字段是 nvarchar,另一个是 int。我知道我需要将一种类型转换为另一种类型,但不知道该怎么做。任何帮助将不胜感激。

    SELECT dbo.co.co_num, dbo.pck_hdr.weight, dbo.STR_ShipTrack.TrackingNumber 
    FROM dbo.co 
INNER JOIN dbo.pck_hdr ON dbo.co.co_num = dbo.pck_hdr.co_num INNER JOIN dbo.STR_ShipTrack ON dbo.pck_hdr.pack_num = dbo.STR_ShipTrack.Reference1
4

1 回答 1

30

查看您的代码,我无法告诉您应该做什么。

SQL 引擎将为比较进行自动转换。但是,如果可能决定将字符字段转换为整数 - 然后会出现错误。

因此,只需将您的 int 字段转换为 nvarchar:

cast(IntField as nvarchar(255))

长度与比较无关nvarchar()

在您的查询中,您将替换:

ON dbo.pck_hdr.pack_num = dbo.STR_ShipTrack.Reference1

和:

ON cast(dbo.pck_hdr.pack_num as nvarchar(255)) = dbo.STR_ShipTrack.Reference1
于 2013-04-29T15:37:13.587 回答