Comment définir une valeur de colonne sur NULL dans SQL Server Management Studio?

230

Comment effacer la valeur d'une cellule et la rendre nulle?

Zack Peterson
la source

Réponses:

329

Je pense que @Zack a bien répondu à la question mais juste pour couvrir toutes les bases:

Update myTable set MyColumn = NULL

Cela mettrait la colonne entière à null comme le demande le titre de la question.

Pour définir une ligne spécifique sur une colonne spécifique sur null, utilisez:

Update myTable set MyColumn = NULL where Field = Condition.

Cela mettrait une cellule spécifique à null comme le demande la question intérieure.

Jeff Martin
la source
3
Son texte de question demande de supprimer la valeur d'une cellule, pas d'une colonne entière. Vous devrez peut-être faire une clause where pour trouver l'enregistrement particulier que vous souhaitez modifier.
TheTXI
3
@TheTXI bonne capture. Comme écrit, ce SQL est très dangereux.
Michael Haren
24
J'ai délibérément laissé la condition éteinte en fait ... si vous regardez la grande question audacieuse de son titre, il demande comment vous définissez une colonne sur null.
Jeff Martin
197

Si vous avez ouvert une table et que vous souhaitez effacer une valeur existante à NULL, cliquez sur la valeur et appuyez sur Ctrl+ 0.

Zack Peterson
la source
9
pour être juste, Azure n'existait pas lorsque cette question a été posée / répondue
Jeff Martin
34

Si vous utilisez l'interface de table, vous pouvez taper NULL (toutes les majuscules)

sinon, vous pouvez exécuter une instruction de mise à jour où vous pouvez:

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

Utilisez ceci:

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

Comme ça:

Update News Set Title = CAST(NULL As nvarchar(100)) Where ID = 50
Milad
la source
6
Voulez-vous expliquer pourquoi votre réponse est meilleure que les autres? Je veux dire que vous postez cela presque six mois plus tard.
fancyPants
5

Ctrl + 0 ou videz la valeur et appuyez sur Entrée.

Eppz
la source
3
Vider la valeur et cliquer sur Entrée ne créera pas de valeur NULL. Si la colonne est un type de données chaîne (varchar et similaires), elle créera une chaîne vide. Si la colonne est un type de données numérique (int et similaire), une erreur de valeur non valide s'affichera. Etc. NULL est l'absence de valeur et ne signifie pas «vide».
undrline
0

CTRL + 0 ne semble pas fonctionner lorsqu'il est connecté à une base de données Azure.

Cependant, pour créer une chaîne vide, vous pouvez toujours simplement appuyer sur 'anykey then delete' à l'intérieur d'une cellule.

Lee Smith
la source