-1

ユーザー入力から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'

これを行う方法?

4

2 に答える 2

1

これはもっと簡単です:

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で操作する方がよいのですが、詳細や要件がわかりませんでした。

于 2014-03-07T06:57:43.010 に答える
0

これを試して:

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;

クエリの日付部分をパラメータ化する必要があります。

このクエリには、覚えておく価値のあるポイントがいくつかあります。

  • 日付の計算: 2 つの日付を減算すると、2 つの日付の間の日付の数になります。
  • generate_series(0, n)0、1、... n を生成します
于 2014-03-07T02:29:34.390 に答える