【发布时间】:2012-12-19 19:49:56
【问题描述】:
我正在尝试从我的表中获取空的“文本”字段,我使用 pgadmin 手动清除了这些字段。 最初在这些字段中是 '',我可以这样查询它们:
SELECT mystr, mystr1 FROM mytable WHERE mystr='' or mystr1=''
但是,如果我从中删除文本并将单元格留空,那将不起作用。
如何编写查询以将这些''和清除单元格放在一起? 还是单独清除细胞?
【问题讨论】:
-
字符串是空的还是NULL? (在 postgres 中
''和NULL是不同的) -
我不知道这是什么“空白单元格类型”,只是用 pgadmin 删除了单元格的所有文本。现在我尝试查询 WHERE mystr=NULL OR mystr1=NULL,并没有得到结果。
-
你不能和NULL比较,NULL不是一个值,它是正交的。你应该改用
WHERE mystr IS NULL。 -
嗯,“WHERE mystr='' OR mystr IS NULL OR mystr1='' OR mystr1 IS NULL”仍然找不到所有空字段。我做错了什么?我应该在这里使用一些括号吗?实际上,这再次只返回内部有 '' 的单元格。
-
请注意
'或"是字符串中的有效字符。所以一个字符串可以只包含一两个引号字符。
标签: postgresql