4

我需要从上周六晚上 7 点到现在过滤一张桌子。我怎么做?

我过滤的列是 dateTime2(0) 格式吗?

4

3 回答 3

6

此表达式将始终为您提供上一个星期六晚上 7 点,与您的DATEFIRST设置无关:

select DATEADD(week,
       DATEDIFF(week,'19000101',CURRENT_TIMESTAMP),'1899-12-30T19:00:00')

如果它在星期六运行,它会给你上一个星期六。

于 2013-10-09T10:31:51.957 回答
1

SELECT * From TableName Where MyDate >= DATEADD(HH,19, DATEADD(DAY, (DATEDIFF(DAY, '19000106', GetDate()) - 1) / 7 * 7, '19000106'))

于 2013-10-09T10:41:02.537 回答
0

假设您的“上周六晚上 7 点”的标准是一个常数......

SELECT T.*
FROM Table T
WHERE T.dtDate >= CONVERT(DATETIME, '2013-10-05 19:00')
于 2013-10-09T10:24:58.523 回答