我编写了一个 SQL 语句,它根据 sysdate 获取当前周。例如:如果日期是 2011 年 3 月 12 日(星期六),那么 o/p 应该是
03/06/2011-03/12/2011
但不知何故,当我运行下面的 SQL 查询时,我得到一个 o/p :
03/06/2011-03/13/2011
有人可以帮我弄清楚查询有什么问题吗?谢谢
SELECT CASE
WHEN TO_CHAR(SYSDATE,'DAY') = 'SATURDAY' THEN
TO_CHAR(next_day(SYSDATE-7,'SUNDAY'),'mm/dd/yyyy') || '-' ||to_char(sysdate,'mm/dd/yyyy')
WHEN TO_CHAR(SYSDATE,'DAY') = 'SUNDAY' THEN
TO_CHAR(SYSDATE,'mm/dd/yyyy') || '-' ||to_char(next_day(sysdate,'SATURDAY'),'mm/dd/yyyy')
ELSE
TO_CHAR(next_day(SYSDATE-7,'SUNDAY'),'mm/dd/yyyy') || '-' ||to_char(next_day(sysdate,'SUNDAY'),'mm/dd/yyyy')
END weeks
FROM DUAL