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
Bu mükemmel çalışıyor içeriyor umuyoruz. Çok teşekkür ederim! – BIReportGuy