เนื่องจากคุณได้อ่านบทความอื่นๆ เหล่านั้นแล้ว (คุณควรพูดถึงงานวิจัยที่คุณได้ทำในคำถามของคุณจริงๆ) และคุณยังคงประสบปัญหาอยู่ ฉันจึงได้เสนอวิธีแก้ปัญหาสำหรับคุณ
ถ้าฉันเข้าใจถูกต้อง คุณจะมี varchar ที่มี YYYY MM เช่น
2015 01
2015 02
2015 03
2015 04
ฯลฯ และคุณต้องการ
Jan 2014
Feb 2014
Mar 2014
Apr 2015
เอาล่ะ...
ตั้งค่าข้อมูลทดสอบบางส่วน
DROP TABLE IF EXISTS #Test;
WITH Dates AS (
SELECT CAST(GETDATE() AS DATE) AS Date
UNION ALL
SELECT DATEADD(MONTH, -1, Date) FROM Dates
WHERE Date > '20140101'
)
SELECT DISTINCT
CONVERT(VARCHAR(4), YEAR(Date)) + ' ' +RIGHT(CONVERT(VARCHAR(6), Date, 112), 2) YearMonth
INTO #Test
FROM Dates
OPTION (MAXRECURSION 0);
SELECT * FROM #Test
YearMonth
---------
2013 12
2014 01
2014 02
2014 03
2014 04
2014 05
etc
ค้นหาปีงบประมาณ
SELECT
LEFT(YEARMONTH, 4) Year
,RIGHT(YEARMONTH, 2) Month
,LEFT(DATENAME(MONTH , DateAdd( month , CONVERT(INT,RIGHT(YEARMONTH, 2)) , -1 )), 3) MonthName
,IIF(CONVERT(INT, RIGHT(YEARMONTH, 2)) >= 4, CONVERT(INT,LEFT(YEARMONTH, 4)), CONVERT(INT,LEFT(YEARMONTH, 4)-1 )) FiscalYear
FROM #TEST
Year Month MonthName FiscalYear
---- ----- --------- -----------
2013 12 Dec 2013
2014 01 Jan 2013
2014 02 Feb 2013
2014 03 Mar 2013
2014 04 Apr 2014
2014 05 May 2014
2014 06 Jun 2014
etc
คุณสามารถใส่การแยกวิเคราะห์ปี/เดือนในแบบสอบถามย่อยเพื่อทำให้โค้ดสะอาดขึ้น และการจัดรูปแบบที่น่ารังเกียจบางส่วนอาจถูกแทนที่ด้วย FORMAT
ตั้งแต่คุณใช้ปี 2012
หวังว่านี่คือสิ่งที่คุณต้องการและช่วยเหลือ
person
Liesel
schedule
27.01.2016