我使用PostgreSQL數據庫,在一個表中我有datetime列edit_user。有些行是空白的,我想刪除這些行。刪除空行
我試圖
DELETE FROM表WHERE edit_user = 「」;
,但我得到了錯誤
線路1:從表,其中edit_user = 「」 刪除;
此外,我認爲在列作爲空白值可能是0000-00-00,但沒有。
我該如何正確執行這個命令?
我使用PostgreSQL數據庫,在一個表中我有datetime列edit_user。有些行是空白的,我想刪除這些行。刪除空行
我試圖
DELETE FROM表WHERE edit_user = 「」;
,但我得到了錯誤
線路1:從表,其中edit_user = 「」 刪除;
此外,我認爲在列作爲空白值可能是0000-00-00,但沒有。
我該如何正確執行這個命令?
DELETE FROM table WHERE edit_user IS NULL;
我相信你的問題是你使用雙引號而不是單引號檢查空字符串。試着只是改變到:
DELETE FROM table WHERE edit_user=''
要刪除空行表
語法:
DELETE FROM table_name
WHERE column_name IS NULL;
例如:
表名:數據--->列名稱:pkdno
DELETE FROM data
WHERE pkdno IS NULL;
答案:刪除5行。 (sayso)
如果您嘗試刪除空格,請嘗試使用=''
而不是is null
。因此,如果您的行包含空格,is 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,'')))='';
菲爾已經提供了相同的答案。你沒有添加任何新東西。 –
當然這與Phil的答案相同,但我更喜歡這個答案,因爲它有文檔。 –