我有两个来自用户输入的日期。我想从 jsp 中获取这两个日期并创建一个视图,该视图显示每天都有自己的工作日:
2013-3-1 MONDAY
2013-3-2 TUESDAY
2013-3-3 WEDNESDAY
用户输入日期并提供给 jsp,例如:
where start='2013-3-1' and end='2013-3-3'
这该怎么做?
我有两个来自用户输入的日期。我想从 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;
后面这个问题下的更多细节:
Remove blank-padding from to_char() output
通常最好使用实际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