隔週払いの日付のためにインポートされたテーブルに基づいて、現在および最後の支払期間を表示する必要があります。テーブルには、次のようになります。SQLでの現在および前払い期間の表示(インポートされたテーブルに基づく)
2017-03-23 00:00:00 2017-04-06 00:00:00
2017-04-07 00:00:00 2017-04-20 00:00:00
2017-04-21 00:00:00 2017-05-06 00:00:00
2017-05-07 00:00:00 2017-05-20 00:00:00
2017-05-21 00:00:00 2017-06-05 00:00:00
2017-06-06 00:00:00 2017-06-22 00:00:00
2017-06-23 00:00:00 2017-07-06 00:00:00
2017-07-07 00:00:00 2017-07-21 00:00:00
このコード:
SELECT *
FROM
table1
WHERE
(start_date <= now() AND end_date >= now())
ディスプレイ:私は、以前の給与期間を表示することができますどのように
2017-06-06 00:00:00 2017-06-22 00:00:00
? のような:
2017-05-21 00:00:00 2017-06-05 00:00:00
このコードは、ちょうどさえ正しく表示されませんが、私はとにかくそれを試してみました:
SELECT start_date,
CASE
WHEN start_date = now() THEN start_date = now() - 1
WHEN end_date = now() THEN start_date = now() - 1
END
FROM table1;
私はCASE WHEN
が、何らかの理由でを使用する方法があります知っている、I now()
を使用して構文を正しく取得することができません。なぜなら、静的な日付ではなく動的なものにしたいからです。
を取得するには、この
を試してみてください? – maSTAShuFu
@maSTAShuFuあなたは詳しく教えていただけますか? – codemonkey
誰もあなたに答えを出すことはできませんが、後で – maSTAShuFu