选择上周内的日期

Posted

技术标签:

【中文标题】选择上周内的日期【英文标题】:Select dates within the last week 【发布时间】:2011-08-24 12:19:17 【问题描述】:

我想在水晶报表中执行一个操作。 我有一个 db 表包含一个日期列。 我想过滤并获取上周创建的数据的行(上周日到上周六 = 7 天)。例如,如果今天是 8 月 24 日周三,那么我需要从 8 月 14 日(周日)到 8 月 20 日(周六)的数据.

基本上我想找到 2 个日期并过滤日期列。 Date1 = Date(CurrentDate)-Day(7 + WeekDayinNum(CurrentDate)) ; (例如:对于我的示例,它将是 10) Date2 = Date(CurrentDate)-Day(WeekDayinNum(CurrentDate))

我不太了解 Date API,谁能帮帮我。

【问题讨论】:

【参考方案1】:

这是 CR 为您提供的足够常见的日期范围。在您的记录选择公式中,您只需添加

table.date in LastFullWeek

在 CR 中,“LastFullWeek 指定了一个日期值范围,其中包括前一周的星期日到星期六的所有日期。”

【讨论】:

【参考方案2】:

将此添加到记录选择公式中:

table.date_field IN Last7Days

【讨论】:

【参考方案3】:
If today is Sunday(1)  you want rows that are between 7 and 1 days old,
If today is Monday(2)  you want rows that are between 8 and 2 days old,
If today is Tuesday(3) you want rows that are between 9 and 3 days old,

等等

SELECT *
FROM `tablename`
WHERE `somedatefield` >= DATE_SUB(NOW(),INTERVAL (DAYOFWEEK(NOW()) + 6) DAY) 
AND `somedatefield` <= DATE_SUB(NOW(),INTERVAL (DAYOFWEEK(NOW())) DAY)

【讨论】:

以上是关于选择上周内的日期的主要内容,如果未能解决你的问题,请参考以下文章

PHP:如何获取过去某个特定日期的上周日..?

选择日期范围内的特定日期

选择日期范围内的分组值总和(窗口函数)

日历内的角垫日期选择器格式

mysql选择范围内的日期时间对象

MySQL:选择两个日期范围内的所有数据