0
我怎么能写这样的公式Excel
,以及如何在DB2
查询中使用这样的逻辑:查询为Excel或DB2
IF:
Month(max(A_dt)) <= month(B_dt)
正在使用
THEN:
day=01, month=month(A_dt), year=year(B_dt) + 1
ELSE:
day=01 Month=Month(A_dt) Year=Year(B_dt)
我怎么能写这样的公式Excel
,以及如何在DB2
查询中使用这样的逻辑:查询为Excel或DB2
IF:
Month(max(A_dt)) <= month(B_dt)
正在使用
THEN:
day=01, month=month(A_dt), year=year(B_dt) + 1
ELSE:
day=01 Month=Month(A_dt) Year=Year(B_dt)
,这个问题很模糊,很难不表结构和数据集的任何想法来回答。按照您概述的逻辑,年份是根据条件变化的唯一输出。
下面包含三个简单的case语句来处理您的条件。前两个是完全没有意义的,因为无论通过还是失败都会返回相同的响应(根据上面的逻辑),但我将它们包括在内仅仅是为了说明这一点,因为它可以帮助您了解条件是否令您感到困惑。
我建议您阅读关于您的特定口味的db2手册或做一些介绍性的sql教程。这个案例非常重要,在查询写作中非常有用。
select
_key
,case when month(max(a_dt)) <= month(b_dt)
then 01
else 01
end as day
,case when month(max(a_dt)) <= month(b_dt)
then month(a_dt)
else month(a_dt)
end as month
,case when month(max(a_dt)) <= month(b_dt)
then year(b_dt) + 1
else year(b_dt)
end as year
from
your_table
如果您了解DB2 SQL,听起来很容易。你做? – duffymo