选择上周内的日期
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)
【讨论】:
以上是关于选择上周内的日期的主要内容,如果未能解决你的问题,请参考以下文章