टेराडेटा में अंतिम मंगलवार की तारीख कैसे प्राप्त करें यदि (सप्ताह का दिन< 2) और वर्तमान मंगलवार की तारीख (यदि सप्ताह का दिन> 2)

जैसे सप्ताह का दिन = 2 आज के लिए (15 अक्टूबर 2018) फिर अंतिम मंगलवार की तारीख प्राप्त करें (09/10/2018)

सप्ताह के दिन के लिए> 2 (17 अक्टूबर 2018) इस सप्ताह मंगलवार (16/10/2018) प्राप्त करें

मैं इसे टेराडाटा की सटीक विधि का उपयोग करके अधिमानतः करना चाहता हूं

मेरे पास एसक्यूएल कोड के नीचे है

DECLARE @StartDt AS  DATE;
DECLARE @EndDt AS  DATE;
DECLARE @Dt AS  DATE;
select @RDt=CASE WHEN CAST(DATEPART(DW,GETDATE()) AS INT) > 2 
        THEN 
        CAST(DATEADD(WK, DATEDIFF(WK,0,GETDATE()), 1) AS DATE)
        ELSE  
         CONVERT(VARCHAR,DATEADD(WK,DATEDIFF(WK,6,GETDATE()),1),107) END

select @StartDt=CAST(DATEADD(WK,DATEDIFF(WK,6,@Dt),0) AS DATE) 
select @EndDt=CAST(DATEADD(WK,DATEDIFF(WK,6,@Dt),6) AS DATE) 

और मुझे समकक्ष टेराडाटा कोड चाहिए।

0
MGcoder 15 अक्टूबर 2018, 11:51

1 उत्तर

सबसे बढ़िया उत्तर

अगले कार्यदिवस को प्राप्त करने के लिए next_day है, इसमें कुछ तर्क परिणाम लागू करना:

Next_Day(calendar_date - 7, 'tuesday')
0
dnoeth 15 अक्टूबर 2018, 09:53