将 to_char(..,'MON-YYYY') 转换为 sql 服务器
convert to_char(..,'MON-YYYY') into sql server
我有以下关于 plsql 的查询
SELECT to_char(add_months(l_max_date, l_rec.MON_INTERVAL),'MON-YYYY')
FROM dual
我希望用 sql 服务器
编写它
select CONVERT(VARCHAR(2),MONTH(DATEADD(mm, MON_INTERVAL, l_max_date)))
from rec
怎么写
to_char(..,'MON-YYYY') into sql server
SQL 服务器中没有 default date format 这样的。你必须想出你自己的。
SELECT datename(month, getdate())
+ '-'
+ convert(nvarchar, year(getdate()))
你可以这样做:
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
在 SQL Server 2012+ 中,您可以使用 FORMAT 函数使用与在 .NET 中使用的相同格式字符串来格式化值:
SELECT FORMAT(GETDATE(),'MMM-yyyy')
我有以下关于 plsql 的查询
SELECT to_char(add_months(l_max_date, l_rec.MON_INTERVAL),'MON-YYYY')
FROM dual
我希望用 sql 服务器
编写它 select CONVERT(VARCHAR(2),MONTH(DATEADD(mm, MON_INTERVAL, l_max_date)))
from rec
怎么写
to_char(..,'MON-YYYY') into sql server
SQL 服务器中没有 default date format 这样的。你必须想出你自己的。
SELECT datename(month, getdate())
+ '-'
+ convert(nvarchar, year(getdate()))
你可以这样做:
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
在 SQL Server 2012+ 中,您可以使用 FORMAT 函数使用与在 .NET 中使用的相同格式字符串来格式化值:
SELECT FORMAT(GETDATE(),'MMM-yyyy')