【发布时间】:2018-07-05 17:02:37
【问题描述】:
SELECT
"Trade Details 2".Portfolio,
"Trade Details 2".CONTRACT_ID,
"Trade Details 2".START_DATE,
"Trade Details 2".MATURITY_DATE,
"Trade Details 2".NOTIONAL1,
"Trade Details 2".CONTRACT_NPV,
"Trade Details".TERM
FROM
"Trade Details 2"
JOIN
"Trade Details"
WHERE
"Trade Details 2".CONTRACT_ID = "Trade Details".FCC_ID
AND ("Trade Details 2".NOTIONAL1 > "0.0")
AND ("Trade Details 2".MATURITY_DATE > "20180621")
ORDER BY
CONTRACT_ID asc
我已经能够确保每个 Maturity_Date 都在 2018 年 6 月 21 日之后,但我在 START_DATE 方面遇到了问题。我的目标是在 START_DATE 列中将 2018 年 6 月 22 日之前的每个日期都替换为 2018 年 6 月 22 日。
我尝试将“Trade Details 2”.START_DATE
【问题讨论】:
-
您正在寻找 CASE 声明。而不是 If True Then DoSomething Else DoSomethingDifferent End If in SQL you do CASE WHEN condition = True THEN DoSomething ELSE DoSomethingDifferent END