我是Oracle的新手,所以我的问题可能听起来很愚蠢。我以前的帖子,但没有运气。
在表中,有一列是空白的,我试图找出列中的空白数。
我试过了:
在表中,有一列是空白的,我试图找出列中的空白数。
我试过了:
SELECT COUNT (COL_NAME) FROM TABLE WHERE COL_NAME IS NULL SELECT COUNT (COL_NAME) FROM TABLE WHERE COL_NAME = ' ' SELECT COUNT (COL_NAME) FROM TABLE WHERE TRIM (COL_NAME)= ' '
上述所有查询的结果为0
但是,当我做到了
SELECT COL_NAME DUMP (COL_NAME,1016) FROM TABLE
给我:
COL_NAME DUMP (COL_NAME,1016) NULL NULL NULL
等等..
但是该列中有数百或数千个空白字段/空字段。任何人都可以帮助我找到列中那些空白/空字段的数量?
我使用Toad for Oracle 9.0.1.8
COUNT(expresion)返回表达式不为空的行计数。所以SELECT TABLE COUNT(COL_NAME)FROM TABLE WHERE COL_NAME IS NULL将返回0,因为您只计数col_name,其中col_name为空,只有空值为零。 COUNT(*)将返回查询的行数:
SELECT COUNT (*) FROM TABLE WHERE COL_NAME IS NULL
其他两个查询可能不返回任何行,因为它们尝试与一个空白字符的字符串进行匹配,并且转储查询指示列实际上保持空值。
如果您有要包含在计数中的具有空格字符的变量字符串的行,请使用:
SELECT COUNT (*) FROM TABLE WHERE trim(COL_NAME) IS NULL
修剪(COL_NAME)将会移除开始和结束的空格。如果字符串只是空格,则字符串将变为“在Oracle中等于null”。