2016-04-07 16 views
0

1) Yalnızca, openddate PrevBiz tarihine eşitse veri çekmem gerekiyor. Nerede ve/veya deyim Openddate = PrevBiz olur, ama emin değilim. Benim için çalışmıyordu ve tarih formatının eşleşmemesi nedeniyle olabilirdi. Baska öneri?TSQL yalnızca başka bir tarih alanı bir önceki iş günü ise verileri çekin

DECLARE @TODAY  DATE = GETDATE() 
    DECLARE @PREVFIRST CHAR(8) = CONVERT(CHAR(8), DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0), 112) 
DECLARE @PREVLAST CHAR(8) = CONVERT(CHAR(8), DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), -1), 112) 
     DECLARE @PREVBIZ CHAR(12) = DATEADD(DAY, CASE DATENAME(WEEKDAY, CONVERT(CHAR(12), @TODAY,112)) 
          WHEN 'SUNDAY' THEN -2 
          WHEN 'MONDAY' THEN -3 
          ELSE -1 END, DATEDIFF(DAY, 0, CONVERT(CHAR(12), @TODAY, 112))) 

      SELECT TOP 10 
      CURRENTDATE  [email protected], 
      FIRST_OF_MONTH [email protected], 
      LASTDAY_OFMONTH [email protected], 
      PREVBIZ   [email protected], 

      DATEADD(DAY, CASE DATENAME(WEEKDAY, CONVERT(DATE, @TODAY,101)) 
      WHEN 'SUNDAY' THEN -2 
      WHEN 'MONDAY' THEN -3 
      ELSE -1 END, DATEDIFF(DAY, 0, CONVERT(DATE, @TODAY, 101))) AS PREVIOUSBIZDATE, 

      OpendDate 

      FROM [USBI_DW].[USBI].[vw_NameAddressBase] 
      where IsCurrent = 1 

İşte benim sonuçlarına: enter image description here

cevap

2
declare @TODAY datetime = convert(date,GETDATE()) 
declare @PREVBIZ datetime = DATEADD(DAY, CASE DATENAME(WEEKDAY,@TODAY) 
          WHEN 'SUNDAY' THEN -2 
          WHEN 'MONDAY' THEN -3 
          ELSE -1 END,@TODAY) 
declare @iToday int = convert(nvarchar(8),@TODAY, 112) 
     , @iPrevBiz int = convert(nvarchar(8),@PREVBIZ, 112) 

select top 10 
     CURRENTDATE  [email protected], 
     PREVBIZ   [email protected], 
     OpendDate 

from [USBI_DW].[USBI].[vw_NameAddressBase] 
where IsCurrent = 1 
and OprendDate = @iPrevBiz 

görünümünüzü (çünkü belirli DateWarehouse ait) int tarihi özelliğini

+0

Bu mükemmel çalışıyor içeriyor umuyoruz. Çok teşekkür ederim! – BIReportGuy

İlgili konular