有没有关于如何在Snowflake中比较两个半 struct 化对象的文档?例如,在以下内容中:

select
    {'x': 1} < {'a': DATE '2014-01-01'},
    {'x': 1} < {'x': DATE '2014-01-01'},
    {'x': 1} < {'y': DATE '2014-01-01'}

我认为如果它被允许,那么只有第三个是真的(这与实际结果相反.

enter image description here

推荐答案

如果没有文档记录,您可能不能依赖当前的行为-我不确定为这种情况定义预期行为是否有意义.

话虽如此,这个问题很耐人寻味,所以我做了一些研究.显然,对象是按键的反字母顺序排序的(但每个对象中的键首先按字母顺序排序).

select {'x': 1} finding_the_sort_for_objects
union all select {'a': DATE '2014-01-01'}
union all select {'x': DATE '2014-01-01'}
union all select {'x': DATE '2014-01-01'}
union all select {'x': DATE '2014-01-01'}
union all select {'x': DATE '2014-01-02'}
union all select {'x': DATE '2014-01-03'}
union all select {'x': DATE '2014-01-01', 'y': DATE '2014-01-01'}
union all select {'y': DATE '2014-01-01', 'x': DATE '2014-01-01'}
union all select {'y': DATE '2014-01-01', 'x': DATE '2014-01-01', '❄️': DATE '2014-01-01'}
union all select {'y': DATE '2014-01-01', 'x': DATE '2014-01-01', '❄️': DATE '2014-01-01', 'a': DATE '2014-01-01'}
union all select {'y': DATE '2014-01-01'}
union all select {'aa': DATE '2014-01-01'}
union all select {'A': DATE '2014-01-01'}
union all select {'0': DATE '2014-01-01'}
union all select {'❄️': DATE '2014-01-01'}
order by 1

enter image description here

(但请不要依赖于未记录的行为-如果您认为为对象定义排序顺序会有意义,请发送功能请求)

Sql相关问答推荐

按postquist中的日期查询json列

判断Pyspark生成的SQL查询

在SQL中将相同且紧挨着的元素进行分组

如何根据计数和分组获取订单总数

计算周时出现SQL错误结果

编写一个SQL查询来返回收视率较高的类型,并取这些收视率的平均值,我该如何做呢?

Access中执行INSERT INTO查询时出现错误消息

Ffltter&;Dart SQL Lite包:是否可以在一个查询中执行多条更新语句(每次执行不同的WHERE参数)

UPDATE查询中的乐观锁

过go 四周未填充的数据,即W50,51,52-SQL

SQL查询正在工作,但返回空结果

使用左外部联接更正列中第+1行的值时重复

除了风格之外,还有什么理由更喜欢简单的CASE WHEN而不是搜索呢?

SQL 查询是否返回列表中仅包含某些值而不包含其他值的行?

SQL 将 Varchar 转换为日期

SQL 多个不满足的条件失败

SQL的左连接在多对多关系情况下使用

Postgres更新增量之间的差异

如何跨行合并以删除 SQL 中的空值?

BigQuery 错误:SELECT 列表表达式引用 esthetician.LICENSE_TYPE,它既未在 [49:8] 分组也未聚合