Wie setze ich in SQL Server Management Studio einen Spaltenwert auf NULL?

230

Wie lösche ich den Wert aus einer Zelle und mache ihn NULL?

Zack Peterson
quelle

Antworten:

329

Ich denke, @Zack hat die Frage richtig beantwortet, aber nur um alle Grundlagen abzudecken:

Update myTable set MyColumn = NULL

Dies würde die gesamte Spalte auf null setzen, wenn der Fragentitel fragt.

So setzen Sie eine bestimmte Zeile in einer bestimmten Spalte auf null:

Update myTable set MyColumn = NULL where Field = Condition.

Dies würde eine bestimmte Zelle auf null setzen, wie die innere Frage fragt.

Jeff Martin
quelle
3
In seinem Fragetext geht es darum, den Wert aus einer Zelle zu löschen, nicht aus einer ganzen Spalte. Möglicherweise müssten Sie eine where-Klausel ausführen, um den bestimmten Datensatz zu finden, den Sie bearbeiten möchten.
TheTXI
3
@TheTXI guter Fang. Wie geschrieben, ist SQL mächtig gefährlich.
Michael Haren
24
Ich habe die Bedingung absichtlich weggelassen ... Wenn Sie sich die Big Bold-Frage seines Titels ansehen, fragt er, wie Sie eine Spalte auf null setzen.
Jeff Martin
197

Wenn Sie eine Tabelle geöffnet haben und einen vorhandenen Wert auf NULL löschen möchten, klicken Sie auf den Wert und drücken Sie Ctrl+ 0.

Zack Peterson
quelle
9
Um fair zu sein, gab es Azure nicht, als diese Frage gestellt / beantwortet wurde
Jeff Martin
34

Wenn Sie die Tabellenschnittstelle verwenden, können Sie NULL eingeben (alle Großbuchstaben).

Andernfalls können Sie eine Update-Anweisung ausführen, in der Sie:

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

Benutze das:

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

So was:

Update News Set Title = CAST(NULL As nvarchar(100)) Where ID = 50
Milad
quelle
6
Möchten Sie erklären, warum Ihre Antwort besser ist als die der anderen? Ich meine, du postest das ungefähr ein halbes Jahr später.
FancyPants
5

Strg + 0 oder leeren Sie den Wert und drücken Sie die Eingabetaste.

Eppz
quelle
3
Wenn Sie den Wert leeren und auf die Eingabetaste klicken, wird kein NULL-Wert erstellt. Wenn die Spalte ein Zeichenfolgendatentyp ist (varchar und dergleichen), wird eine leere Zeichenfolge erstellt. Wenn die Spalte ein numerischer Datentyp ist (int und dergleichen), wird ein Fehler mit ungültigem Wert angezeigt. Und so weiter. NULL ist das Fehlen eines Werts und bedeutet nicht "leer".
Undrline
0

STRG + 0 scheint nicht zu funktionieren, wenn eine Verbindung zu einer Azure-Datenbank besteht.

Um eine leere Zeichenfolge zu erstellen, können Sie jedoch jederzeit in einer Zelle auf "anykey then delete" klicken.

Lee Smith
quelle