2016-12-21 21 views
1

私は以下のようなクエリからのINSERT文を構築しようとしています:SQL Serverの:NULL連結

INSERT INTO MyTable (Field1, Field2) VALUES (value1,value2); 

だから私は:

SELECT CONCAT('INSERT INTO MyTable (Field1, Field2) VALUES (', value1, ',', value2, ');') 
FROM OneTable 

を私が持っている問題は、時々、VALUE1があり得ることですNULLなので、結果として私は次のようなものを取得する必要があります:

INSERT INTO MyTable (Field1, Field2) VALUES (NULL,5); 

どのようにすればいいですか?

+0

http://stackoverflow.com/questions/5329542/php-mysql-insert-null-values – fizzi

+0

なぜ適切なパラメータでsp_executesqlを使用しないのですか? – Bridge

+0

「INSERT INTO MyTable(Field1、Field2)SELECT column1、Column2 FROM OneTable」のように見えます。私はあなたがなぜこれを連結したいのか分かりません... 'Field2'が' NULLABLE'で、 'COALESCE'や' ISNULL'は必要ありません。 – scsimon

答えて

3
この

Coalesce(value1, 'NULL') 

にあなたをvalue1を変更しかし、私はあなたがsp_executesqlをを使用して、それのためのパラメータを提供すべきだと思う

+0

この方法は 'ISNULL'を使うのが好ましいでしょうか? 、 なぜ? 'COALESCE(value1、 'NULL')'と 'ISNULL(value1、 'NULL')'の間には機能的な違いがありますか? – 3N1GM4

+2

そのために、このスレッドを参照できますhttp://stackoverflow.com/questions/18828641/sql-difference-between-coalesce-and-isnull –

関連する問題