Konu: tablo içinde olmayan tarihleri bulmak
ürt..gider tablosunda gün atlanmamsı gerekiyor, o nedenle bir kontrol yapıyorum - kayıtsız gün var ise kaydetmek için. (örnekte 2010 için,iki tarih aralığı da girilebilinir.)
aşağıdaki kodu çıkardım, daha basit bir yol var mı ?
CREATE TABLE ##mintegers (i integer not null primary key);
INSERT INTO ##mintegers (i) values
(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
--select * from ##mintegers
SELECT CAST(DATEADD(day, (H100.i*100 + H10.i*10 + H1.i*1 ) , '2010-1-1') AS DATE) AS xdate
FROM ##mintegers as H100
CROSS JOIN ##mintegers as H10
CROSS JOIN ##mintegers as H1
WHERE YEAR(DATEADD(day, (H100.i*100 + H10.i*10 + H1.i*1 ) ,'2010-1-1'))=2010
AND CAST(DATEADD(day, (H100.i*100 + H10.i*10 + H1.i*1 ) , '2010-1-1') AS DATE) NOT IN (SELECT tarih FROM ürt..gider)