SQL Server Management Studioで列の値をNULLに設定するにはどうすればよいですか?


回答:


329

@ザックは質問に適切に答えたと思いますが、すべての根拠をカバーするために:

Update myTable set MyColumn = NULL

これにより、質問のタイトルに応じて、列全体がnullに設定されます。

特定の列の特定の行をnullに設定するには、次のようにします。

Update myTable set MyColumn = NULL where Field = Condition.

これは、内部の質問が尋ねるように、特定のセルをnullに設定します。


3
彼の質問文は、列全体ではなくセルから値をクリアすることについて尋ねています。編集する特定のレコードを見つけるには、where句を実行する必要がある可能性があります。
TheTXI 2009年

3
@TheTXIグッドキャッチ。書かれているように、そのSQLは非常に危険です。
マイケルハーレン

24
私は意図的に条件をオフにしています...彼のタイトルの大胆な質問を見ると、列をnullに設定する方法を尋ねられます。
ジェフマーティン

197

テーブルを開いて、既存の値をNULLにクリアする場合は、値をクリックしてCtrl+ を押し0ます。


9
公平を期すために、この質問が尋ねられた/答えられたとき、Azureは存在しませんでした
Jeff Martin

34

テーブルインターフェイスを使用している場合は、NULL(すべて大文字)を入力できます。

それ以外の場合は、次のことができる更新ステートメントを実行できます。

Update table set ColumnName = NULL where [Filter for record here]

11

これを使って:

Update Table Set Column = CAST(NULL As Column Type) where Condition

このような:

Update News Set Title = CAST(NULL As nvarchar(100)) Where ID = 50

6
あなたの答えが他の答えよりも優れている理由を説明してください。ほぼ半年後に投稿します。
fancyPants 2012年

5

Ctrl + 0または値を空にしてEnterキーを押します。


3
値を空にしてEnterをクリックしても、NULL値は作成されません。列が文字列データ型(varcharなど)の場合、空の文字列が作成されます。列が数値データ型(intなど)の場合、無効な値のエラーがポップアップ表示されます。等々。NULLは値がないことであり、「空白」を意味するものではありません。
undrline

0

CTRL + 0は、Azure DBに接続されている場合は機能しないようです。

ただし、空の文字列を作成するには、セル内で「anykey then delete」を押すだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.