【问题标题】:Filtering out empty strings in Snowflake过滤掉雪花中的空字符串
【发布时间】:2020-07-02 02:57:45
【问题描述】:

我有一个非常简单的任务,结果证明是不可能的。我有一列有字符串,但也有空格,它应该是一个单词(那些不是 NULL,它们只是空字符串)。例如:

LastName1,
EmptyRow,
LastName2,
EmptyRow,
EmptyRow,
LastName3...

由于空行不是 NULL,所以 IS NOT NULL 函数不起作用。

在最终结果中,我只需要过滤掉所有实际包含值的行并删除所有空行。有人可以给个建议吗?

【问题讨论】:

    标签: sql filtering snowflake-cloud-data-platform blank-line


    【解决方案1】:

    您可以通过对其应用 LENGTH 函数来过滤掉这些记录。

    WHERE LENGTH(TRIM(COL_NAME)) > 0
    

    【讨论】:

      【解决方案2】:

      您需要知道“空”行是什么意思。很可能是一个空字符串:

      where lastname > ''
      

      如果您需要确定至少有一个字母可以使用:

      where lastname regexp '[a-zA-Z]'
      

      或:

      where lastname regexp '[[:alpha:]]'
      

      【讨论】:

        【解决方案3】:

        如果混合有单个空格,没有空格和空值,我会使用这样的东西

        哪里合并(修剪(姓氏),'')''

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-23
          • 1970-01-01
          • 1970-01-01
          • 2018-09-28
          • 2017-01-21
          • 1970-01-01
          相关资源
          最近更新 更多