Select (SELECT YEAR(GETDATE())+(Select('-'))+(SELECT YEAR(GETDATE())+1));
Я хочу выводить как "2018-2019".
"2018-2019"
Кто-нибудь?
Используйте datename():
datename()
select (datename(year, getdate()) + '-' + datename(year, dateadd(year, 1, getdate()))
Таким образом, вам не нужно иметь дело с преобразованием целых чисел в строки.
Вы можете использовать + для добавления строки, так как вы работаете с SQL 2008, более высокая версия имеет функцию CONCAT():
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))
SELECT CONCAT(YEAR(GETDATE()), '-', YEAR(GETDATE()) + 1)
CONCAT заботится о преобразовании в строку, поэтому вам не нужно об этом беспокоиться.
edit: К сожалению, мне сообщили, что CONCAT доступен тольков SQL Server 2012 и выше.