【发布时间】:2017-07-20 21:17:16
【问题描述】:
我需要从一组 4 个(或更多)列中获取第一个(最小)日期。
我试过了
从 tbl 中选择 min (col1, col2, col3)
这显然是错误的。
假设我有这 4 列
col1 | col2 | col3 | col4
1/1/17 | 2/2/17 | | 3/3/17
... 在这种情况下,我想要得到的是 col1 (1/1/17) 中的值。是的,这些列可以包含 NULL。
我在 dashDB 中运行它
列是日期数据类型,
此表中没有ID也没有主键列,
我需要对查询中的所有行执行此操作,
列不按顺序排列。这意味着 col1 不必在 col2 之前或必须为 null 并且 col2 不必在 col3 之前或必须为 NULL .. 等等
【问题讨论】:
-
列数据类型?
-
您需要获取每一行的最小值,还是所有行的最小值?
-
你的表中有任何 id 或主键列吗?
-
使用标量函数你可以这样尝试 - SELECT ID, (SELECT MIN([date]) FROM (VALUES(Date1),(Date2),(Dateblah)) x([date])) MinDate FROM 表名;不确定这是否适用于 dashdb