13

異なるタイプのフィールドで結合された 2 つのテーブルからの情報を表示するビューを作成したいと考えています。1 つのフィールドは nvarchar で、もう 1 つのフィールドは 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 に答える