Ответ 1
DELETE FROM table WHERE edit_user IS NULL;
Я использую базу данных PostgreSQL, а в одной таблице у меня есть столбец datetime edit_user. Некоторые строки пустые, и эти строки я хотел бы удалить.
Я пробовал
УДАЛИТЬ ОТ таблицы WHERE edit_user = "";
но я получил ошибку
LINE 1: удалить из таблицы, где edit_user = "";
Кроме того, я думал в столбце, что пустое значение может быть 0000-00-00, но его нет.
Как я должен выполнить эту команду правильно?
DELETE FROM table WHERE edit_user IS NULL;
Если вы пытаетесь удалить пустые пространства, попробуйте использовать =''
вместо is null
. Следовательно, если ваша строка содержит пустые пространства, is null
не будет записывать эти записи. Пустое пространство не равно null, а null - пустое.
Dec Hex Binary Char-acter Description
0 00 00000000 NUL null
32 20 00100000 Space space
Поэтому я рекомендую:
delete from foo_table where bar = ''
#or
delete from foo_table where bar = '' or bar is null
#or even better ,
delete from foo_table where rtrim(ltrim(isnull(bar,'')))='';
Удаление пустых строк в таблице
Синтаксис:
DELETE FROM table_name
WHERE column_name IS NULL;
Пример:
Имя таблицы: данные --- > имя столбца: pkdno
DELETE FROM data
WHERE pkdno IS NULL;
Ответ: Удалено 5 строк. (sayso)
Я считаю, что ваша проблема в том, что вы проверяете пустую строку, используя двойные кавычки вместо одиночных кавычек. Попробуйте просто перейти на:
DELETE FROM table WHERE edit_user=''