DB2查询合并两个小数列并查找最大值

时间:2018-12-12 04:38:19

标签: db2

我在DB2表ExpiryDate中有两列

到期年份-输入十进制和长度(4,0)

到期月份-输入十进制和长度(2,0)

我需要编写一个DB2查询来获取最新的到期日,因为我需要将提交的年份和月份合并起来并找出最新的到期日。

预先感谢

4 个答案:

答案 0 :(得分:1)

select max((expyear * 100) + expmth)
from mytable;

答案 1 :(得分:0)

其他方法:

select exp_month, exp_year
from ExpiryDate 
order by exp_year desc, exp_month desc
fetch first rows only

答案 2 :(得分:-1)

您可以将两个字段都转换为CHAR并合并它们,也可以尝试执行类似的操作

SELECT max(expirymonth)
  FROM table
 WHERE expiryyear = ( SELECT max(expiryyear) 
                        FROM table)

答案 3 :(得分:-1)

select year, month, date(digits(dec(year, 4))||'-'||digits(dec(month, 2))||'-01') as dt
from table(values 
  (2018, 1)
, (2017, 4)
) t(year, month)
order by dt desc
fetch first 1 row only;