2017-12-23 1 views
0

SQL Serverの2017データベースにテーブルをインポートしました。テーブルには、他の値がないフィールドに "NULL"のテキスト値が含まれていました。 "NULL"のテキスト値を何も置き換えないクエリの構文は何ですか?NULLのテキスト値を実際のNULL値に更新するには

私は次のように動作すると思っていましたが、そうではありません。

UPDATE dbo.tblFlatTVL 
SET TagType = NULL 
WHERE TagType = 'NULL'; 
+2

あなたの質問はうまくいくはずです。 –

+0

ステートメントはOKです。あなたはそれがいかに正確に機能しないかについて詳しく説明できますか?エラーが発生していますか?間違った結果ですか? – Mureinik

+0

これを実行すると何が起こり、結果が返されますか? dbo.tblFlatTVLから選択します。ここで、TagType = 'NULL'です。 もしそうであれば、アップデートが機能するはずです。 – Harry

答えて

0

クエリが機能します。

Update dbo.tblFlatTVL 
    set TagType = '' 
    where TagType = 'NULL'; 

二重引用符が値の一部である場合は、比較して、それらを含める必要があります:「何もない」ことで、あなたは空の文字列を意味している場合、NULLから空の文字列が異なっていることを理解し

where TagType = '"NULL"'; 
+0

いいえ、私はNULLが空の文字列と異なることを理解していませんでした。 nullは空の文字列だと思った。私が探しているのは、結果を返したり、結果をエクスポートしたりするときに値を表示したくないということです。今すぐNULLが返されます。 – Andrew

+0

以下の4つのクエリでは、「クエリは正常に実行されました」と表示され、DBは行の下に返されないヘッダー行を表示します。 select * from dbo.tblFlatTVLここで、TagTypeはNULLです。 select * from dbo.tblFlatTVLここで、TagType = 'NULL'; select * from dbo.tblFlatTVLここで、TagType = '%NULL%'; select * from dbo.tblFlatTVLここで、TagType = ''; – Andrew

+0

次のクエリを実行すると、行が返されます。 select * from dbo.tblFlatTVL PlateNumber = 'BT7G522'; ただし、見出しのTagTypeの下にあるフィールドを選択すると、値をコピーして貼り付けて貼り付けた値がNULLになります。 Excelを使用してデータベースにインポートしたcsvを開くと、NULLがセルにテキストとして表示されます。 @Mureinik – Andrew