开始日期= 01/1/2010,结束日期= 31/12/201 [英] Start Date=01/01/2010 and End Date=31/12/201

查看:130
本文介绍了开始日期= 01/1/2010,结束日期= 31/12/201的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI 我现在有开始日期= 01/1/2010和结束日期= 31/12/2010,现在我想在Sql Server中选择开始日期和结束日期之间的月份名称.就像一月,二月,三月........,十二月一样.如何选择它.

HI I have Start Date=01/01/2010 and End Date=31/12/2010 now i want to select Month name between Start Date and End date in Sql Server. Like Jan, Feb, March......., Dec. How can I select It.

推荐答案

尝试此

try this

DECLARE @subscriptionstartdate DATETIME,
        @subscriptionenddate DATETIME
SET @subscriptionstartdate = '20100101'
SET @subscriptionenddate = '20101231'
;WITH
  L0 AS (SELECT 1 AS C UNION ALL SELECT 1)    --2 rows
 ,L1 AS (SELECT 1 AS C FROM L0 AS A, L0 AS B)  --4 rows (2x2)
 ,L2 AS (SELECT 1 AS C FROM L1 AS A, L1 AS B)  --16 rows (4x4)
 ,L3 AS (SELECT 1 AS C FROM L2 AS A, L2 AS B)  --256 rows (16x16)
 --,L4 AS (SELECT 1 AS C FROM L3 AS A, L3 AS B)  --65536 rows (256x256)
 --,L5 AS (SELECT 1 AS C FROM L4 AS A, L4 AS B)  --4,294,967,296 rows (65536x65536)
 ,Nums AS (SELECT row_number() OVER (ORDER BY (SELECT 0)) -1 AS N FROM L2)
SELECT DATENAME(MONTH,DATEADD(MONTH,n,@subscriptionstartdate)) AS MnthName
FROM Nums
WHERE N<=256 AND DATEADD(DAY,DATEDIFF(DAY,0,DATEADD(MONTH,n,@subscriptionstartdate)),0) <= @subscriptionenddate
GO


这篇关于开始日期= 01/1/2010,结束日期= 31/12/201的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆