简而言之,我想选择跨多个列的最小日期。
A B C D 2015-01-01 2015-01-05 Null 2013-01-01
从上面我想选择最小的日期,并把它放在colunn e。如何做到这一点-我将部署在800m REC上,因此有一个优雅的解决方案会很好:)谢谢。。少女
guz6ccqo1#
你想要的功能是 least() . 问题在于 NULL 价值观。这就足够了:
least()
NULL
select least(coalesce(A, '2099-12-31'), coalesce(B, '2099-12-31'), coalesce(C, '2099-12-31'), coalesce(D, '2099-12-31') )
处理所有的价值观 NULL :
select (case when coalesce(A, B, C, D) is not null then least(coalesce(A, '2099-12-31'), coalesce(B, '2099-12-31'), coalesce(C, '2099-12-31'), coalesce(D, '2099-12-31') ) end)
1条答案
按热度按时间guz6ccqo1#
你想要的功能是
least()
. 问题在于NULL
价值观。这就足够了:处理所有的价值观
NULL
: