如何在SQL Server Management Studio中将列值设置为NULL?


Answers:


329

我认为@Zack正确回答了这个问题,但只是涵盖了所有基础:

Update myTable set MyColumn = NULL

这将按照“问题标题”的要求将整个列设置为null。

要将特定列上的特定行设置为空,请使用:

Update myTable set MyColumn = NULL where Field = Condition.

这将按照内部问题的要求将特定单元格设置为null。


3
他的问题文本询问有关从单元格而不是整个列中清除值的问题。您可能必须执行where子句才能找到要编辑的特定记录。
TheTXI

3
@TheTXI好抓。如所写,SQL是非常危险的。
Michael Haren

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是缺少值,并不表示“空白”。
取消

0

连接到Azure DB时,CTRL + 0似乎不起作用。

但是,要创建一个空字符串,您始终可以只单击单元格中的“任意键然后删除”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.