在研究 RVC 时,我发现了与比较运算符有关的官方文档<, >, >=, <=
,尽管很清楚:
select (1,2) < (1,3)
=true
由于文档中已经提到了公式a < c OR (a = c AND b < d)
,所以不清楚原因:
select (1,2,null) < (1,3,0)
=true
引用文档:
对于 <、<=、> 和 >= 情况,行元素从左到右比较,一旦找到不相等或空的元素对就停止。
和
例如,ROW(1,2,NULL) < ROW(1,3,0) 产生 true 而不是 null,因为不考虑第三对元素。
什么是“第三对”以及公式如何扩展/适应越来越多的列(例如select (1,2,3,4,5) < (1,3,0,8,9)
另外,为什么这会在我一开始就期望的时候select (1,2,0) >= (1,2,null);
返回。null
true
1>=1