Как заменить пустые (нулевые) значения на 0 для всех записей?

Доступ к MS: как заменить пустые (нулевые) значения на 0 для всех записей?

Я предполагаю, что это нужно сделать с помощью SQL. Я могу использовать Find и Replace для замены 0 пустым, но не наоборот (не будет "найти" пробел, даже если я введу [Ctrl-пробел], который вставляет пробел.

Итак, я думаю, мне нужно делать SQL, где я нахожу нулевые значения для MyField, а затем заменяю все из них на 0.

Ответы

Ответ 1

Перейдите в окно конструктора запросов, переключитесь в режим SQL и попробуйте следующее:

Update Table Set MyField = 0
Where MyField Is Null; 

Ответ 2

Если вы пытаетесь сделать это с помощью запроса, то вот ваш ответ:

SELECT ISNULL ([поле], 0) FROM [таблица]

Edit

Функция ISNULL использовалась неправильно - эта модифицированная версия использует IIF

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

Если вы хотите заменить фактические значения в таблице, вам нужно будет сделать это следующим образом:

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

Ответ 3

UPDATE table SET column=0 WHERE column IS NULL

Ответ 4

UPDATE YourTable SET MyField = 0 WHERE MyField IS NULL

работает в большинстве диалектов SQL. Я не использую Access, но вы должны начать.

Ответ 5

без 'где и', если...

Update Table Set MyField = Nz(MyField,0)

Ответ 6

Следующий запрос также работает, и вам не понадобится запрос на обновление, если вы предпочитаете:

IIF(Column Is Null,0,Column)

Ответ 7

Лучшее решение - использовать функцию NZ (от нуля до нуля) во время генерации таблицы = > NZ ([ColumnName]) Он приходит 0, где "null" в столбце ColumnName.

Ответ 8

Использование find и replace будет работать, если вы наберете "null" в find и поместите нуль в replace... вы будете предупреждены, что это нельзя отменить.

Ответ 9

Я бы изменил приведенный выше оператор SQL на более общий. Использование подстановочных знаков никогда не будет плохой идеей, когда дело доходит до массового населения, чтобы избежать нулей.

Попробуйте следующее:

Update Table Set * = 0 Where * Is Null; 

Ответ 10

У меня была такая же проблема, и я нашел самое простое решение, которое работает для моих нужд. В свойствах таблицы я установил значение по умолчанию равным 0 для полей, которые я не хочу показывать нулями. Супер легкий.

Ответ 11

Я использовал двухэтапный процесс для изменения строк с "пустыми" значениями до "Нулевых" значений в качестве держателей мест.

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

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