查找上周日
如何在 sql 2000 中找到一个月的最后一个星期日?
How will you find last sunday of a month in sql 2000?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在 sql 2000 中找到一个月的最后一个星期日?
How will you find last sunday of a month in sql 2000?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
编辑:我同事的正确、最终、有效的答案。
Edit: A correct, final, working answer from my colleague.
另一种方法借鉴了数据仓库实践。创建一个日期维度表并预加载 10 年左右。
填写
dimDate
的最简单方法是花一个下午的时间使用Excel,然后从那里导入到数据库。一个还算不错的dimDate
表有 50 多列——任何你想知道的关于日期的信息。有了这个,问题就变成了这样:
本质上,所有与日期相关的查询都变得更简单。
An alternative approach, borrowed from data warehousing practice. Create a date-dimension table and pre-load it for 10 years, or so.
The easiest way to fill-in the
dimDate
is to spend an afternoon with Excel and then import to DB from there. A half-decentdimDate
table has 50+ columns -- anything you ever wanted to know about a date.With this in place, the question becomes something like:
Essentially, all date related queries become simpler.
SQL 中的下周日,无论哪一天是一周的第一天:在 2010 年 12 月 22 日返回 2011-01-02 23:59:59.000:
Next sunday in SQL, regardless which day is first day of week: returns 2011-01-02 23:59:59.000 on 22-dec-2010:
我发现其中一些解决方案很难理解,因此这是我的版本,其中包含变量来解释这些步骤。
I find some of these solutions hard to understand so here's my version with variables to explain the steps.
天哪,这很丑陋,但这里是:
Holy cow, this is ugly, but here goes:
首先建了一个统计表。
http://www.sqlservercentral.com/articles/T-SQL/62867/< /a>
然后得到你想要的..
http://www.sqlservercentral.com/Forums /主题515226-1291-1.aspx
First built a tally table.
http://www.sqlservercentral.com/articles/T-SQL/62867/
then get what you want..
http://www.sqlservercentral.com/Forums/Topic515226-1291-1.aspx
这是正确的方法,考虑@@DATEFIRST
Here's the correct way, accounting for @@DATEFIRST