Удалить пустые строки

Я использую базу данных PostgreSQL, а в одной таблице у меня есть столбец datetime edit_user. Некоторые строки пустые, и эти строки я хотел бы удалить.

Я пробовал

УДАЛИТЬ ОТ таблицы WHERE edit_user = "";

но я получил ошибку

LINE 1: удалить из таблицы, где edit_user = "";

Кроме того, я думал в столбце, что пустое значение может быть 0000-00-00, но его нет.

Как я должен выполнить эту команду правильно?

Ответы

Ответ 1

DELETE FROM table WHERE edit_user IS NULL;

Ответ 2

Если вы пытаетесь удалить пустые пространства, попробуйте использовать ='' вместо 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,'')))='';

Ответ 3

Удаление пустых строк в таблице

Синтаксис:

DELETE FROM table_name 
WHERE column_name IS NULL;

Пример:

Имя таблицы: данные --- > имя столбца: pkdno

DELETE FROM data 
WHERE pkdno IS NULL;

Ответ: Удалено 5 строк. (sayso)

Ответ 4

Я считаю, что ваша проблема в том, что вы проверяете пустую строку, используя двойные кавычки вместо одиночных кавычек. Попробуйте просто перейти на:

DELETE FROM table WHERE edit_user=''