DB2查询合并2个十进制列并找到最大值
Posted
技术标签:
【中文标题】DB2查询合并2个十进制列并找到最大值【英文标题】:DB2 Query to merge 2 decimal column and find max 【发布时间】:2018-12-12 04:38:19 【问题描述】:我在 DB2 表 ExpiryDate 中有两列
到期年份 - 输入小数和长度(4,0)
到期月份 - 输入小数和长度 (2,0)
我需要编写一个 DB2 查询来获取最新的到期日期,因为我需要结合提交的年份和月份并找出最新的到期日期。
提前致谢
【问题讨论】:
【参考方案1】:select max((expyear * 100) + expmth)
from mytable;
【讨论】:
【参考方案2】:其他方法:
select exp_month, exp_year
from ExpiryDate
order by exp_year desc, exp_month desc
fetch first rows only
【讨论】:
【参考方案3】:您可以将两个字段都转换为 CHAR 并将它们连接起来,或者您可以尝试类似的方法
SELECT max(expirymonth)
FROM table
WHERE expiryyear = ( SELECT max(expiryyear)
FROM table)
【讨论】:
【参考方案4】: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;
【讨论】:
以上是关于DB2查询合并2个十进制列并找到最大值的主要内容,如果未能解决你的问题,请参考以下文章