Преобразование даты

#sql-server #sql-server-2008

#sql-сервер #sql-server-2008

Вопрос:

Я ищу, чтобы преобразовать следующую дату

 select (CONVERT(varchar(11), DATEADD(year,   1,CONVERT(varchar(11), getdate(),111)))),datename(month,getdate()) for it returns 'jun 26 2015' ,'JUne'
 

Мне нужно было, чтобы он возвращался как следующий «2015/6», июнь

Это дает мне то, что я хочу, при использовании просто get date

 select CONVERT(varchar(7), getdate(), 111) = 2014/06 
 

но мне это нужно 1 год в моем поле ожидания времени.

Мой фактический код выглядит следующим образом:

 SELECT  c.account_owner_by_SalesDiv, CONVERT(varchar(7), a.timeWait, 111)as rollingdate, DATENAME(MOnth, a.timeWait)
FROM            SalesForce.dbo.SalesForceContact AS b INNER JOIN
                     Dossier_Replication.dbo.vw_SFAD_Contact_data AS c ON b.ContactID = c.CONTACTID__C RIGHT OUTER JOIN
                     satVRS.dbo.rptNECACallHistory AS a ON b.UserID = a.UserID_Caller
WHERE        (b.Platform = 'HandsonVRS') AND (a.timeWait BETWEEN CONVERT(varchar(10), DATEADD(year, - 1, CONVERT(varchar, DATEADD(month, DATEDIFF(month, 0, 
                     GETDATE()-1), 0), 120)), 120) AND CONVERT(varchar, DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0), 101)) AND (a.isReport = '1') AND (a.NECA_isReport = '1') AND
                      (a.ConvoTime > '0') AND (c.account_owner_by_SalesDiv IN ('Enterprise Account', 'National Account', 'Major Account', 'House Account', 'Inside Sales Account'))
GROUP BY c.account_owner_by_SalesDiv, CONVERT(varchar(7), a.timeWait, 111), DATENAME(MOnth, a.timeWait)
order by rollingdate
 

Заранее спасибо.

Комментарии:

1. Я бы подумал, что сработает что-то подобное: но мне не удалось скрыть дату строки. выберите (преобразовать(varchar(7),(DATEADD(год, 1,ПРЕОБРАЗОВАТЬ(varchar(7), получить дату(), 111)))))

Ответ №1:

Это дает 2015/06, June :

 SELECT 
  CONVERT(VARCHAR(7), DATEADD(YEAR,1,GETDATE()), 111)   ', '   DATENAME(MONTH,GETDATE())
 

Если вам не нужен начальный ноль, вы можете использовать функцию SUBSTRING для его обрезки.