Ответ 1
Вы можете сделать ( YEAR( GETDATE() ) % 100 ) + 1
Мне нужно получить текущий 2-значный год и прирост на единицу. Поэтому текущий номер, который я ищу, должен быть 11.
Наверное, очень просто, но я sql noob:)
Спасибо
Вы можете сделать ( YEAR( GETDATE() ) % 100 ) + 1
Это будет работать для вас
select Right(Year(getDate())+ 1,2)
SELECT RIGHT(CONVERT(VARCHAR(8), GETDATE(), 1),2) as YEAR
Для SQL Server 2012 и выше, я бы предложил использовать FORMAT(@DATE, 'yy')
:
SELECT FORMAT(DATEADD(year, 1, GETDATE()), 'yy')
Format
предлагает более чистое и удобочитаемое решение. Таким образом, меньше догадок и лучшей ремонтопригодности.
Если вы всегда собираетесь использовать GetDate(), почему бы просто не сделать что-то вроде этого:
Select (Year(GetDate()) - 2000) + 1
черт побери. Всегда усложняю. Это не так, как вы собираетесь жить еще 1000 лет!
select CAST( DAY(GETDATE()) as varchar(10))+'/'+CAST( month(GETDATE()) as varchar(10))+'/' +cast(right(year(getDate()),2) as varchar)