在Oracle SQL中设置每周的起始日期

日期: 2012-02-09 作者:Dan Clamage翻译:孙瑞 来源:TechTarget中国 英文

问:我现在视图制作一个报表,其中星期一为起始日期,星期日为一周结束的日期。如下所示:

CONVERT (varchar (10),(DATEADD ( d, 2-DATEPART (dw, Evaluations.Quality_Date), Evaluations.Quality_Date )),111)

  上面的语句表示每周开始的日期为星期一,通常这样做都没有问题,但现在有一些员工周日要加班,于是就出问题了。比如,一周在星期一开始,也就是1月30日。我的报表显示Jan 30th,但是当我仔细一看的时候,发现Jan. 29却跑到Jan. 30th这一周去了,它应该是在Jan 23这一周的。这个问题我该怎么解决呢?

  答:你给出的例子其实是一个微软SQL Server的代码。在Oracle里,你使用NLS_TERRITORY参数来设置一周的哪一天是开始。你可以任意更改,比如:

ALTER SESSION SET NLS_TERRITORY=German;

  这样星期一就成为每一周的第一天。微软也有它自己的方法来控制地区和日期的设置。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

孙瑞
孙瑞

相关推荐