开始日期= 01/1/2010,结束日期= 31/12/201 [英] Start Date=01/01/2010 and End Date=31/12/201
本文介绍了开始日期= 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屋!
查看全文