ユーザー入力から2つの日付があります。これらの 2 つの日付を jsp から取得し、それぞれの曜日を表示するビューを作成します。
2013-3-1 MONDAY
2013-3-2 TUESDAY
2013-3-3 WEDNESDAY
ユーザーは日付を入力し、jsp に次のように指定します。
where start='2013-3-1' and end='2013-3-3'
これを行う方法?
ユーザー入力から2つの日付があります。これらの 2 つの日付を jsp から取得し、それぞれの曜日を表示するビューを作成します。
2013-3-1 MONDAY
2013-3-2 TUESDAY
2013-3-3 WEDNESDAY
ユーザーは日付を入力し、jsp に次のように指定します。
where start='2013-3-1' and end='2013-3-3'
これを行う方法?
これはもっと簡単です:
SELECT to_char(d, 'YYYY-MM-DD') AS day_txt
, to_char(d, 'FMDay') AS weekday
FROM generate_series('2013-03-01'::date
, '2013-03-03'::date
, interval '1 day') d;
この後の質問の下の詳細:
to_char() 出力からブランクパディングを削除する
一般に、テキスト表現ではなく、実際のdate
型で操作する方がよいのですが、詳細や要件がわかりませんでした。
これを試して:
select to_char(dt, 'yyyy-mm-dd') as date, to_char(dt, 'Day') as day
from (select ('2013-03-01'::date + i) dt
from generate_series(0,'2013-03-03'::date - '2013-03-01'::date) as t(i)) as t;
クエリの日付部分をパラメータ化する必要があります。
このクエリには、覚えておく価値のあるポイントがいくつかあります。
generate_series(0, n)
0、1、... n を生成します