我使用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的答案相同,但我更喜欢这个答案,因为它有文档。 –