SQL SERVER - ГОД - PullRequest
       10

SQL SERVER - ГОД

0 голосов
/ 11 декабря 2018
Select (SELECT YEAR(GETDATE())+(Select('-'))+(SELECT YEAR(GETDATE())+1));

Я хочу выводить как "2018-2019".

Кто-нибудь?

Ответы [ 4 ]

0 голосов
/ 11 декабря 2018

Используйте datename():

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

Таким образом, вам не нужно иметь дело с преобразованием целых чисел в строки.

0 голосов
/ 11 декабря 2018

Вы можете использовать + для добавления строки, так как вы работаете с SQL 2008, более высокая версия имеет функцию CONCAT():

SELECT CAST(YEAR(GETDATE()) AS VARCHAR(4)) + ' - ' + CAST(YEAR(DATEADD(YEAR, 1, GETDATE())) AS VARCHAR(4)) 
0 голосов
/ 11 декабря 2018

Вы также можете использовать

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))
0 голосов
/ 11 декабря 2018
SELECT CONCAT(YEAR(GETDATE()), '-', YEAR(GETDATE()) + 1)

CONCAT заботится о преобразовании в строку, поэтому вам не нужно об этом беспокоиться.

edit: К сожалению, мне сообщили, что CONCAT доступен тольков SQL Server 2012 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...