2013-02-21 93 views
0

我正在寻找一种方法来解决以下问题:试图得到一个星期的第一天和最后一天的日期,给定一个任务。日期

显示星期(例如1-52),该星期的开始和结束日期以及计数。

的一周,是想通是这样的:TO_CHAR(“WW”)

,但我不知道如何让那些数周的第一个和最后日期。

我该如何做到这一点与SqlPlus?

编辑:

鉴于:包含日期的列的表。

+0

给你提的SQLPlus,我们可以认为这是甲骨文? – Joe 2013-02-21 03:47:06

+0

是的,你可以。我的同事有我引用它作为SQLPLus,但我最称它为oracle。 – Fallenreaper 2013-02-21 03:48:41

+0

一个密切相关的问题的答案,[如何计算给定日期的星期数?](http://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given -a-date/275024#275024),可以帮助你了解一些理论背景。在此期间,查看ISO 8601星期数字格式说明符。本周的第一天和最后一天是ISO 8601日历中的星期一和星期天。如果您将“星期几”作为数字D(在1-7范围内),则可以从日期中减去(D-1)天以获得第一天,并添加6天以获得最后一天一周中的。 – 2013-02-21 03:53:02

回答

1

整个一周的第一天,尝试next_day(dateColumn-8, 'Monday')

对于本周的最后日期,尽量next_day(dateColumn-1, 'Sunday')

+0

什么是dt-8? dt是列 – Fallenreaper 2013-02-21 03:51:39

+0

我希望现在更清楚。 – hd1 2013-02-21 03:54:05

+0

'dt'是给定的任意日期 - 可能来自表格。 'dt-8'在指定日期前8天; 'dt-1'是前一天。 – 2013-02-21 03:54:29

相关问题