如何使用SQL Server与当前周进行比较?

And*_*ndy 3 sql t-sql sql-server

如何将SQL Server日期列与当前周比较?

例如:

WHERE [Order].SubmittedDate = *THIS WEEK*
Run Code Online (Sandbox Code Playgroud)

Nic*_*ton 7

您可以将日期转换为周数,并将其与当前日期的周数进行比较.同样,你也需要比较一年,这样你就不会得到去年的周.

WHERE DATEPART(wk, [Order].SubmittedDate) = DATEPART(wk, GETDATE())
AND DATEPART(yy, [Order].SubmittedDate) = DATEPART(yy, GETDATE())
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您可能会注意到性能受到影响,因为这是一种不可攻击的情况,因此阻止了最佳索引使用.见http://www.sql-server-performance.com/tips/t_sql_where_p2.aspx (2认同)