sql - 检查数组字段是否为空或为空?

标签 sql snowflake-cloud-data-platform

在 Snowflake 中,如何过滤列中的 null 或空数组字段?

列在该括号中有一个空的[]或值字符串,尝试使用array_size(column_name, 1) > 0但array_size不起作用,

谢谢

最佳答案

您是想过滤掉它们还是过滤掉它们?

无论哪种方式,array_size 都应该有效。虽然没有第二个论点 其中column_name不为空并且array_size(column_name) != 0为我工作

如果您专门希望过滤具有空数组的记录,这种方法也有效,尽管它有点奇怪。 其中column_name = array_construct()

编辑:您的问题似乎是您的列是一个字符串。有几种方法可以解决这个问题

  • 将列的数据类型更改为变体或数组
  • 使用数组函数之前解析列array_size(TRY_PARSE_JSON(column_name)) != 0
  • 与字符串进行比较column_name 不为 null 并且column_name != '[]'

关于sql - 检查数组字段是否为空或为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68136387/

相关文章:

php - 创建一个与团队见面的页面,想要按降序排列,每个级别到新行

Python SQLAlchemy 以小写形式导入表名 (Snowflake)

arrays - 我正在尝试使用 v : structure 解析来自 zendesk 的 json 数据

sql - 如何计算具有最小值的列的日期差异

mysql - 添加带有更新级联的外键

sql - 从 PostgreSQL 表中选择第 N 个值并在查询中使用

javascript - 如何组织用 Javascript/Node 编写的长 SQL 语句

sql - 如何防止从 Informix 存储过程返回的长文本值中出现换行符

go - 查询数据库时如何将雪花数组转换为Golang中的数组

sql - Snowflake - 一次运行多个 SQL 查询