选择上周的日期

时间:2011-08-24 12:19:18

标签: sql crystal-reports

我想在水晶报告中执行操作。 我有一个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,任何人都可以帮助我。

3 个答案:

答案 0 :(得分:3)

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

{table.date} in LastFullWeek

即可

来自CR,“LastFullWeek指定一系列日期值,包括上周的星期日到星期六的所有日期。”

答案 1 :(得分:0)

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

{table.date_field} IN Last7Days

答案 2 :(得分:0)

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)
相关问题