SQL Serverの2017データベースにテーブルをインポートしました。テーブルには、他の値がないフィールドに "NULL"のテキスト値が含まれていました。 "NULL"のテキスト値を何も置き換えないクエリの構文は何ですか?NULLのテキスト値を実際のNULL値に更新するには
私は次のように動作すると思っていましたが、そうではありません。
UPDATE dbo.tblFlatTVL
SET TagType = NULL
WHERE TagType = 'NULL';
SQL Serverの2017データベースにテーブルをインポートしました。テーブルには、他の値がないフィールドに "NULL"のテキスト値が含まれていました。 "NULL"のテキスト値を何も置き換えないクエリの構文は何ですか?NULLのテキスト値を実際のNULL値に更新するには
私は次のように動作すると思っていましたが、そうではありません。
UPDATE dbo.tblFlatTVL
SET TagType = NULL
WHERE TagType = 'NULL';
クエリが機能します。
Update dbo.tblFlatTVL
set TagType = ''
where TagType = 'NULL';
二重引用符が値の一部である場合は、比較して、それらを含める必要があります:「何もない」ことで、あなたは空の文字列を意味している場合、NULL
から空の文字列が異なっていることを理解し
where TagType = '"NULL"';
いいえ、私はNULLが空の文字列と異なることを理解していませんでした。 nullは空の文字列だと思った。私が探しているのは、結果を返したり、結果をエクスポートしたりするときに値を表示したくないということです。今すぐNULLが返されます。 – Andrew
以下の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
次のクエリを実行すると、行が返されます。 select * from dbo.tblFlatTVL PlateNumber = 'BT7G522'; ただし、見出しのTagTypeの下にあるフィールドを選択すると、値をコピーして貼り付けて貼り付けた値がNULLになります。 Excelを使用してデータベースにインポートしたcsvを開くと、NULLがセルにテキストとして表示されます。 @Mureinik – Andrew
あなたの質問はうまくいくはずです。 –
ステートメントはOKです。あなたはそれがいかに正確に機能しないかについて詳しく説明できますか?エラーが発生していますか?間違った結果ですか? – Mureinik
これを実行すると何が起こり、結果が返されますか? dbo.tblFlatTVLから選択します。ここで、TagType = 'NULL'です。 もしそうであれば、アップデートが機能するはずです。 – Harry