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