我有一个SQL查询,在下面显示yyyymm
:
select ([dimdate_fact_transac_TrnServiceDtId].[date_period]) as [date_period]
from [db].[dbo].[table]
显示器:
date_period
201304
201305
201306
我如何修改,以便date_period
像MMM-YY
这样出现:
date_period
APR-13
MAY-13
JUN-13
我正在尝试为我的SSRS报告执行此操作,但是当我更改数字格式时,它不显示日期,这使我相信它将其作为字符串而不是日期格式发送。
请帮忙......
答案 0 :(得分:2)
答案 1 :(得分:1)
中添加了更清晰的版本(1a)
方法1a
对于SQL 2012
您可以使用Format
和DateFromParts
方法
SELECT FORMAT(DATEFROMPARTS(date_period/100, date_period % 100, 1), 'MMM-yy')
方法1b
在SQL 2008/2005
SELECT
LEFT(DATENAME(MONTH,
CAST(date_period AS VARCHAR(6)) + '01'
),
3)
+
'-'
+
RIGHT(datePART(YY, CAST(date_period AS VARCHAR(6)) + '01'
),
2)
as myDatePeriod
方法2
在SSRS处理它
=LEFT(MonthName
(RIGHT(Fields!D.Value,2))
,3)
& "-"
& Mid(Fields!D.Value,3,2)
注意:添加额外的CRLF /空格以使代码可读