0

これは奇妙な質問になるでしょうが、ここで私を助けようとしている人を助けるために、できる限り説明しようと思います...

あるデータベースから別のデータベースに同様のテーブルにデータをコピーしようとしている状況が提示されますが、世界に大きな違いをもたらすわずかな違いがあります。 値をdb1.table1許可し、実際にはnull値を持つが値を許可しない行がいくつかありますが、値をコピーする必要があります。さらに、問題の一部であるしばらくの間です。タイプでない場合は、 で必要になるテキストを挿入する必要がある列に移動するだけでした。nullcol3db2.table1nullcol3db1.table1.col3GUIDdb2.table1.col3VARCHARdb1.table1.col3GUIDUPDATEdb2.table1.col3

要約すると、私は方法を探してい INSERT INTO db2.table1 (col1, col2, col3...) SELECT col1, col2, col3... FROM db1.table1ますが、col3 が null の場所では、null にならないように text/varchar を挿入する必要があります。

誰もが知っている一時テーブルを作成するよりも簡単な方法はありますか?

4

1 に答える 1

1

必要な置換テキストで COALESCE または ISNULL を使用します

例えばISNULL(Col3, 'Sometext')

GUID の場合、通常のテキストを uniqueidentifier データ型に挿入できないため、NEWID() 関数を使用できます。

NEWID() 関数は GUID を返します。たとえば

SELECT NEWID()

26C064EF-0AB6-4DBE-91B3-C2EE40DE7AD6

于 2013-04-26T19:52:23.940 に答える