MS Access:如何将所有记录的空白(null)值替换为0?
我想这必须使用SQL来完成。我可以使用查找和替换将0替换为空白,但不是相反(即使我输入插入空格的[Ctrl-Spacebar]也不会“找到”空白。
所以我想我需要做SQL,我找到MyField的空值,然后用0替换所有值。
答案 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"));