加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NULL或BLANK字段(ORACLE)

发布时间:2020-12-12 13:59:22 所属栏目:百科 来源:网络整理
导读:我是Oracle的新手,所以我的问题可能听起来很愚蠢。我以前的帖子,但没有运气。 在表中,有一列是空白的,我试图找出列中的空白数。 我试过了: SELECT COUNT (COL_NAME) FROM TABLE WHERE COL_NAME IS NULLSELECT COUNT (COL_NAME) FROM TABLE WHERE COL_NA
我是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”。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读