Как установить значение столбца в NULL в SQL Server Management Studio?

Ответы:

329

Я думаю, что @Zack правильно ответил на вопрос, но только для того, чтобы охватить все основы:

Update myTable set MyColumn = NULL

Это установило бы весь столбец в ноль, как спрашивает заголовок вопроса.

Чтобы установить для определенной строки в определенном столбце значение null, используйте:

Update myTable set MyColumn = NULL where Field = Condition.

Это установило бы определенную ячейку в ноль, поскольку внутренний вопрос спрашивает.

Джефф Мартин
источник
3
Его текст вопроса спрашивает об очистке значения из ячейки, а не из целого столбца. Возможно, вам придется выполнить предложение where, чтобы найти конкретную запись, которую вы хотите редактировать.
TheTXI
3
@ TheTXI хороший улов. Как написано, этот SQL очень опасен.
Майкл Харен
24
На самом деле я намеренно пропустил условие ... если вы посмотрите на Большой жирный вопрос о его названии, он спрашивает, как установить для столбца значение null.
Джефф Мартин
197

Если вы открыли таблицу и хотите очистить существующее значение в NULL, щелкните по значению и нажмите Ctrl+ 0.

Зак Петерсон
источник
9
чтобы быть справедливым, Azure не существовало, когда на этот вопрос задавали / отвечали
Джефф Мартин
34

Если вы используете табличный интерфейс, вы можете ввести NULL (все заглавные буквы)

в противном случае вы можете запустить оператор обновления, где вы могли бы:

Update table set ColumnName = NULL where [Filter for record here]
TheTXI
источник
11

Использовать это:

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

Как это:

Update News Set Title = CAST(NULL As nvarchar(100)) Where ID = 50
Milad
источник
6
Хотите объяснить, почему ваш ответ лучше, чем другие? Я имею в виду, что вы публикуете это почти через полгода.
Модные штаны
5

Ctrl + 0 или очистить значение и нажать ввод.

Eppz
источник
3
Очистка значения и нажатие кнопки ввода не создадут значение NULL. Если столбец является строковым типом данных (varchar и т.п.), он создаст пустую строку. Если столбец является числовым типом данных (int и т.п.), появится сообщение об ошибке «Недопустимое значение». И так далее. NULL - это отсутствие значения, и оно не означает «пусто».
отменить
0

CTRL + 0 не работает при подключении к базе данных Azure.

Однако, чтобы создать пустую строку, вы всегда можете просто нажать «anykey затем delete» внутри ячейки.

Ли Смит
источник