SQL sorgularında tarihlerden hafta no yu çekmek. Hafta başlangıcı pazartesi olacak şekilde.

Datepart fonksiyonu ile tarih bilgisi içeren bir alanın, gününü, ayını, yılını vs. almak mümkün. Hatta week parametresi ile yılın kaçıncı haftası olduğunu almak da mümkün. Ancak bu hafta bilgisi hafta başını Pazar kabul ederek veriyor. Hafta başını pazartesi olarak hesaplaması için isowk parametresi kullanılmalı.

 

SELECT A.MATERIAL,A.VOPTIONS,B.OUTPUT,B.CONFIRMDATE,YEAR(B.CONFIRMDATE) AS YIL,MONTH(B.CONFIRMDATE) AS AY
,DATEPART(isowk,B.CONFIRMDATE) AS HAFTA
FROM MAC2012..IASPRDORDER A WITH (NOLOCK),MAC2012..IASPRDCONF B WITH (NOLOCK)
WHERE A.CLIENT=’00’ AND A.COMPANY=’01’
AND A.PLANT=’01’ AND A.POTYPE=’OI’
AND B.CLIENT=A.CLIENT AND B.COMPANY=A.COMPANY AND B.PLANT=A.PLANT AND B.POTYPE=A.POTYPE AND B.PRDORDER=A.PRDORDER
AND (A.MATERIAL NOT LIKE ‘%P’ OR A.MATERIAL NOT LIKE ‘%V’ OR A.MATERIAL NOT LIKE ‘%W’ OR A.MATERIAL NOT LIKE ‘%R’)
AND CONFIRMDATE>=’2012-01-01 00:00:00.000′
AND CONFIRMDATE<‘2013-01-01 00:00:00.000’