将to_char(..,' MON-YYYY')转换为sql server

时间:2015-01-19 08:25:32

标签: sql-server plsql

我对plsql

进行了以下查询
SELECT to_char(add_months(l_max_date, l_rec.MON_INTERVAL),'MON-YYYY')
   FROM    dual

我希望用sql sever编写它

  select CONVERT(VARCHAR(2),MONTH(DATEADD(mm, MON_INTERVAL, l_max_date)))
from  rec 

如何写

to_char(..,'MON-YYYY') into sql server 

3 个答案:

答案 0 :(得分:1)

SQL Server中没有default date format。你必须拿出自己的。

SELECT datename(month, getdate())
       + '-'
       + convert(nvarchar, year(getdate()))

答案 1 :(得分:1)

在SQL Server 2012+中,您可以使用FORMAT函数使用您在.NET中使用的相同格式字符串格式化值:

SELECT FORMAT(GETDATE(),'MMM-yyyy')

答案 2 :(得分:0)

你可以这样做:

SELECT
    SubString(Convert(Varchar(Max), tbl.theDate,0), 1, 3) + '-' 
    + Cast(Year(tbl.theDate) As Varchar(Max))
FROM
(
    select CONVERT(VARCHAR(2),MONTH(DATEADD(mm, MON_INTERVAL, l_max_date))) as theDate
    from  rec 
) AS tbl