如何将所有记录的空(null)值替换为0?

时间:2009-12-29 21:44:48

标签: sql ms-access null

MS Access:如何将所有记录的空白(null)值替换为0?

我想这必须使用SQL来完成。我可以使用查找和替换将0替换为空白,但不是相反(即使我输入插入空格的[Ctrl-Spacebar]也不会“找到”空白。

所以我想我需要做SQL,我找到MyField的空值,然后用0替换所有值。

11 个答案:

答案 0 :(得分:20)

转到查询设计器窗口,切换到SQL模式,然后尝试:

Update Table Set MyField = 0
Where MyField Is Null; 

答案 1 :(得分:13)

如果您尝试使用查询执行此操作,那么这是您的答案:

  

SELECT ISNULL([field],0)FROM [table]

修改

ISNULL函数使用不正确 - 此修改版本使用IIF

SELECT IIF(ISNULL([field]), 0, [field]) FROM [table]

如果您想要替换表中的实际值,那么您需要这样做:

UPDATE [table] SET [FIELD] = 0 WHERE [FIELD] IS NULL

答案 2 :(得分:3)

UPDATE table SET column=0 WHERE column IS NULL

答案 3 :(得分:3)

UPDATE YourTable SET MyField = 0 WHERE MyField IS NULL

适用于大多数SQL方言。我不使用Access,但这应该让你开始。

答案 4 :(得分:3)

没有'where's和'if's ...

Update Table Set MyField = Nz(MyField,0)

答案 5 :(得分:2)

以下查询也有效,如果您喜欢这样,则不需要更新查询:

IIF(Column Is Null,0,Column)

答案 6 :(得分:2)

更好的解决方案是在生成table =>期间使用NZ(null to zero)函数。 NZ([的ColumnName]) 它来自0,其中ColumnName中为“null”。

答案 7 :(得分:1)

如果您键入" null"使用查找和替换将起作用在找到并在替换中加零...你将被警告,这不能撤消。

答案 8 :(得分:0)

我会将上面的SQL语句更改为更通用。在大众人群中使用通配符绝不是一个坏主意,以避免空值。

试试这个:

Update Table Set * = 0 Where * Is Null; 

答案 9 :(得分:0)

我遇到了同样的问题,最终找到了最符合我需求的解决方案。在表属性中,我将默认值设置为0,表示我不想显示空值的字段。超级容易。

答案 10 :(得分:0)

我使用了两个步骤将带有“空白”值的行更改为“空”值作为占位符。

UPDATE [TableName] SET [TableName].[ColumnName] = "0"
WHERE ((([TableName].[ColumnName])=""));

UPDATE [TableName] SET [TableName].[ColumnName] = "Null"
WHERE ((([TableName].[ColumnName])="0"));