SQL语句:取某个日期所在季度的最后一天,精确到时分秒
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句:取某个日期所在季度的最后一天,精确到时分秒相关的知识,希望对你有一定的参考价值。
比如:我选择一个日期,2013-08-12 12:12:995 如何得到该时间所在季度的最后一天(即 “2013-09-30 23:59:59 997”),请高手指教
取季度数字然后再CASE WHEN 就好啦﹐参考以下代码
DECLARE @TB TABLE(TIME DATETIME)INSERT INTO @TB VALUES('2013-02-09 11:22:59.997')
INSERT INTO @TB VALUES('2013-05-07 13:12:51.333')
INSERT INTO @TB VALUES('2013-07-07 15:42:22.633')
INSERT INTO @TB VALUES('2013-10-20 19:29:22.783')
SELECT *,CASE WHEN DATEPART(QQ,TIME)=1 THEN DATEADD(D,-1,'2013-04-01 23:59:59.997')
WHEN DATEPART(QQ,TIME)=2 THEN DATEADD(D,-1,'2013-07-01 23:59:59.997')
WHEN DATEPART(QQ,TIME)=3 THEN DATEADD(D,-1,'2013-10-01 23:59:59.997')
WHEN DATEPART(QQ,TIME)=4 THEN DATEADD(D,-1,'2014-01-01 23:59:59.997')
END AS QUARTER
FROM @TB
效果:
TIME QUARTER
---------------------------------- - -----------------------------------
2013-02-09 11:22:59.997 2013-03-31 23:59:59.997
2013-05-07 13:12:51.333 2013-06-30 23:59:59.997
2013-07-07 15:42:22.633 2013-09-30 23:59:59.997
2013-10-20 19:29:22.783 2013-12-31 23:59:59.997
追问太麻烦了 写了一个SQL :一句话搞定:Select dateadd(ms,-3,DATEADD(qq, DATEDIFF(qq,0,'2012-10-30')+1, 0)) 那个'2012-10-30'可以是任意值或者变量,拿出来共享一下。
参考技术A 先判断这个日期是属于哪个季度,然后case when 季度末就可以以上是关于SQL语句:取某个日期所在季度的最后一天,精确到时分秒的主要内容,如果未能解决你的问题,请参考以下文章
pandas通过DatetimeProperties对象获取日期对象是否是所在季度的最后一天(is quarter end)筛选dataframe数据中日期对象是所在季度最后一天的数据行