inweektodate - kod ve grafik fonksiyonu
Bu fonksiyon, timestamp öğesi haftanın base_date öğesinin son milisaniyesine kadar ve bu milisaniye de dahil olmak üzere base_date öğesini içeren bölümünde bulunuyorsa, True sonucunu döndürür.
Söz Dizimi:
InWeekToDate (timestamp, base_date, period_no [, first_week_day])
Dönüş veri türü: Boole
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
timestamp | base_date ile karşılaştırmak istediğiniz tarih. |
base_date | Haftayı değerlendirmek için kullanılan tarih. |
period_no | Hafta period_no ile kaydırılabilir. period_no bir tamsayı olup burada 0 değeri base_date içeren haftayı belirtir. period_no içindeki negatif değerler önceki haftaları; pozitif değerler ise sonraki haftaları gösterir. |
first_week_day |
Varsayılan olarak, haftanın ilk günü Pazar ile Pazartesi arasındaki gece yarısından başlayan Pazartesi'dir. Haftanın başka bir gün başlamasını belirtmek için first_week_day içinde bir kaydırma belirtin. Bu, günleri ve/veya bir günün kesirlerini belirten bir bütün sayı olarak verilebilir. |
Örnek 1:
inweektodate ('12/01/2006', '12/01/2006', 0)
True döndürür
Örnek 2:
inweektodate ('12/01/2006', '11/01/2006', 0)
False döndürür
Örnek 3:
inweektodate ('12/01/2006', '18/01/2006', -1)
False döndürür
period_no değeri -1 olarak belirtildiğinden timestamp değerinin hesaplanmasında temel alınan geçerli tarih 11/01/2006 olur.
Örnek 4:
inweektodate ( '11/01/2006', '12/01/2006', 0, 3 )
False döndürür
Çünkü first_week_day değeri 3 (Perşembe) olarak belirtilmektedir ve bu da 12/01/2006 tarihini, 12/01/2006 tarihini içeren haftayı takip eden haftanın ilk günü yapar.
Örnek 5:
Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.
Bu örnek, period_no değerinin 4 olarak belirtilmesiyle, bir fatura tarihinin base_date içinde verilen haftadan sonraki dördüncü haftaya (ancak base_date değerinden öncesine) denk gelip gelmediğini kontrol eder.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
InWeekToDate(InvDate, '11/01/2013', 4) AS InWeek2DPlus4
Resident TempTable;
Drop table TempTable;
Sonuçta ortaya çıkan tabloda orijinal tarihler ve inweek() fonksiyonunun döndürdüğü değeri içeren bir sütun yer alır.
InvDate | InWeek2DPlus4 |
---|---|
28/03/2012 | 0 (False) |
10/12/2012 | 0 (False) |
5/2/2013 | -1 (True) |
31/3/2013 | 0 (False) |
19/5/2013 | 0 (False) |
15/9/2013 | 0 (False) |
11/12/2013 | 0 (False) |
2/3/2014 | 0 (False) |
14/5/2014 | 0 (False) |
13/6/2014 | 0 (False) |
7/7/2014 | 0 (False) |
4/8/2014 | 0 (False) |