从一周的一周开始



我有两个日期来自用户输入。我想从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

最新更新