2016-07-25 3 views
-1

Я нашел несколько различных методов для его преобразования. Тем не менее, я все еще получаю формат yyyy-mm-dd или yyyy-mm-dd hh:mm:ss. В настоящее время я использую SQL Server 2014.Преобразование getdate() в yyyymmdd & получение даты на два года назад

SELECT dateadd(day, convert(int, getdate()), 112) 
SELECT DATEADD(YEAR, -2, convert(DATE, GETDATE(), 112)) 

Я делаю диапазон дат от 2 лет. Таким образом, мне нужны коды, чтобы найти дату два года назад.

+0

и указать, какие СУБД –

+0

@HoneyBadger Я пытался «SELECT DateAdd (день, конвертировать (интермедиат, GETDATE()), 112) '&' SELECT DATEADD (YEAR, -2, convert (DATE, GETDATE(), 112)) '. Оба не конвертируются в yyyymmdd – Brandon

+0

@GiladGreen Я в настоящее время сужу SQL Server 2014 – Brandon

ответ

5

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

select FORMAT(getdate(), 'yyyyMMdd') 
+0

Почему я получаю «20160025»? кажется довольно странным. – Brandon

+1

Попробуйте сейчас, с yyyyMMdd вместо yyyymmdd – vercelli

+0

yup it works now. Спасибо за код человека. Если это не так уж много, не могли бы вы помочь мне с кодами, чтобы получить дату два года назад? – Brandon

0

Попробуйте CONVERT(char(8), GETDATE(), 112)

Также проверьте https://technet.microsoft.com/en-us/library/ms187928(v=sql.105).aspx

+0

Спасибо большое. Это код, который я ищу. Если это не так, как мне получить дату на 2 года назад? – Brandon

+0

'dateadd (год, -2, getdate());' – nilsman

+0

Можно ли вынуть время? Также формат даты не является тем, что я просил. – Brandon

Смежные вопросы