さて、私はクエリのこの部分を持っています:
round(if(((t1.docType=1 and t1.installments=1) or (t1.docType=3 and t1.installend=t1.insend)), "", t1.premiaPaid),2) AS custom_field
問題はここから来ますt1.installend=t1.insend
:
t1.installend = 2018-11-29
t1.insend = 2018-11-28
この形式ではfalseが返されますが、条件のこの部分でtrueが返されるようにしたいので、2018-11-28がt1.installend +-5日t1.insend
にあるかどうかを確認します。この例では、次のようになります。
もし2018-11-28
間にある2018-11-23
と2018-12-04
、それは私がTRUEを返しますでしょう。
MySQLで可能ですか、それともコードを書く必要がありますか?
ヘルプのINTERVALステートメントを使用して、日付範囲の開始と終了を計算できます。例えば:
SELECT
t1.installend - INTERVAL 5 DAY, /*start date*/
t1.installend + INTERVAL 5 DAY /*end date*/
FROM <your table name>
また、BETWEENステートメントを使用して、日付範囲内の日付の存在を確認できます。例えば:
t1.insend BETWEEN t1.installend - INTERVAL 5 DAY AND t1.installend + INTERVAL 5 DAY
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加