从日期到日期使用SQL查询以行方式获取月份和年份 [英] From date - to Date getting month and year in row wise using SQL query
问题描述
Hi Frnds,
我需要跟随输出。
我有桌子
Col1:从日期col2:到日期
01-Jan-2012 01-Jan-2013
我需要得到输出
MonthWise日期
2012年1月
2012年2月
Mar-2012
。
。
。
。
。
2012年11月
2012年12月
2013年1月
Hi Frnds,
I need to Following outputs.
I am having table
Col1: From Date col2: To Date
01-Jan-2012 01-Jan-2013
I need to get output as
MonthWise Date
Jan-2012
Feb-2012
Mar-2012
.
.
.
.
.
Nov-2012
Dec-2012
Jan-2013
推荐答案
SELECT SUBSTRING(CONVERT(VARCHAR(11),GETDATE(),113),4,8将获取日期的月份和年份。您可以用日期列替换GETDATE()
SELECT SUBSTRING(CONVERT(VARCHAR(11), GETDATE(), 113), 4, 8 will get you the month and year of a date. You can replace GETDATE() with your date column
尝试
Try
DECLARE @Sample TABLE
(
FromDate DATETIME,
ToDate DATETIME
)
INSERT INTO @Sample
SELECT '01-Jan-2012', '01-Jan-2013'
DECLARE @FromDate DATETIME
DECLARE @ToDate DATETIME
SELECT @FromDate = FromDate, @ToDate = ToDate FROM @Sample
;WITH CTE AS
(
SELECT 0 AS n, @FromDate AS FromDate
UNION ALL
SELECT n+1 AS n, DATEADD(month,1,FromDate)
FROM CTE
WHERE FromDate < @ToDate
)
SELECT REPLACE(SUBSTRING(CONVERT(VARCHAR(11), FromDate, 113), 4, 8),' ','-') AS [MonthWise Date] FROM CTE
这篇关于从日期到日期使用SQL查询以行方式获取月份和年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!