Cha*_*nis 11 sql int nvarchar inner-join sql-view
我想创建一个视图,它将显示由不同类型字段连接的两个表的信息.一个字段是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
Run Code Online (Sandbox Code Playgroud)
Gor*_*off 27
看看你的代码,我无法告诉你应该做什么.
SQL引擎将进行自动转换以进行比较.但是,如果可能决定将字符字段转换为整数 - 然后得到错误.
所以,只需将int字段转换为nvarchar:
cast(IntField as nvarchar(255))
Run Code Online (Sandbox Code Playgroud)
长度与nvarchar()比较无关.
在您的查询中,您将替换:
ON dbo.pck_hdr.pack_num = dbo.STR_ShipTrack.Reference1
Run Code Online (Sandbox Code Playgroud)
有:
ON cast(dbo.pck_hdr.pack_num as nvarchar(255)) = dbo.STR_ShipTrack.Reference1
Run Code Online (Sandbox Code Playgroud)