mpe*_*row 4 sql t-sql sql-server-2005
我需要编写一个SQL Select语句来选择DateCreated在过去4周的周末所有记录.我知道我可以通过对下面的选择进行硬编码来做到这一点.但我想知道使用T-sql日期函数是否有更简单的方法.
SELECT * FROM audit_table
WHERE DateCreated BETWEEN '07-31-2010 00:00:00' AND '08-01-2010 23:59:59'
OR DateCreated BETWEEN '07-24-2010 00:00:00' AND '07-25-2010 23:59:59'
OR DateCreated BETWEEN '07-17-2010 00:00:00' AND '07-18-2010 23:59:59'
OR DateCreated BETWEEN '07-10-2010 00:00:00' AND '07-11-2010 23:59:59'
Run Code Online (Sandbox Code Playgroud)
SQL*_*ace 13
试试这个
where DateCreated >= DATEADD(DD, DATEDIFF(dd, 0, DATEADD(WK,-4,GETDATE()))+0, 0)
and datepart(dw,DateCreated) in (1,7) -- Sat and Sun only
Run Code Online (Sandbox Code Playgroud)
[编辑]查看关于datefirst的评论[/编辑]