SQL 服务器 -- 年份

SQL SERVER -- YEAR

Select (SELECT YEAR(GETDATE())+(Select('-'))+(SELECT YEAR(GETDATE())+1));

我希望输出为 "2018-2019"

有人吗?

SELECT CONCAT(YEAR(GETDATE()), '-', YEAR(GETDATE()) + 1)

CONCAT 负责转换为字符串,因此您不必担心。

编辑:很遗憾,我了解到 CONCAT 仅在 sql 服务器 2012 及更高版本中可用。

您可以使用 + 来附加字符串,因为您正在使用 SQL 2008,更高版本具有 CONCAT() 功能:

SELECT CAST(YEAR(GETDATE()) AS VARCHAR(4)) + ' - ' + CAST(YEAR(DATEADD(YEAR, 1, GETDATE())) AS VARCHAR(4)) 

您也可以使用

SELECT CAST(YEAR(GETDATE()) AS VARCHAR(4)) + 
       '-' + 
       CAST(YEAR(GETDATE()) + 1 AS VARCHAR(4))

SELECT CAST(DATEPART(Year,GETDATE()) AS VARCHAR(4)) + 
       '-' + 
       CAST(DATEPART(Year, GETDATE()) + 1 AS VARCHAR(4))

使用datename():

select (datename(year, getdate()) + '-' + datename(year, dateadd(year, 1, getdate()))

这样,您就不必处理将整数转换为字符串的问题。