2013-05-06, 16:45
#1
DECLARE @dateparts INTEGER
SELECT @dateparts = DATEDIFF(month, startdate, GETDATE()) FROM sometable
IF @dateparts % 6 = 0
BEGIN
--do stuff every 6 months.....
END
create table #check_date (run_date smalldatetime) declare @i int set @i = 0 while (@i < 1000) begin insert #check_date (run_date) select dateadd(day, @i, '2011-01-01') set @i = @i + 1 end
declare @employed smalldatetime set @employed = '2011-02-01' select run_date , case when datediff(month, @employed, run_date) % 6 = 0 and day(run_date) = day(@employed) and datediff(month, @employed, run_date) > 0 then 1 else 0 end as Skicka_påminnelse from #check_date where case when datediff(month, @employed, run_date) % 6 = 0 and day(run_date) = day(@employed) and datediff(month, @employed, run_date) > 0 then 1 else 0 end = 1 order by run_date
declare @employed smalldatetime, @run_date smalldatetime set @employed = '2011-02-01' set @run_date = '2013-02-01' select case when datediff(month, @employed, @run_date) % 6 = 0 and day(@run_date) = day(@employed) and datediff(month, @employed, @run_date) > 0 then 1 else 0 end as Skicka_påminnelse
create table #check_date (run_date smalldatetime) declare @i int set @i = 0 while (@i < 1000) begin insert #check_date (run_date) select dateadd(day, @i, '2011-01-01') set @i = @i + 1 end
declare @employed smalldatetime set @employed = '2011-02-01' select run_date , case when datediff(month, @employed, run_date) % 6 = 0 and day(run_date) = day(@employed) and datediff(month, @employed, run_date) > 0 then 1 else 0 end as Skicka_påminnelse from #check_date where case when datediff(month, @employed, run_date) % 6 = 0 and day(run_date) = day(@employed) and datediff(month, @employed, run_date) > 0 then 1 else 0 end = 1 order by run_date
declare @employed smalldatetime, @run_date smalldatetime set @employed = '2011-02-01' set @run_date = '2013-02-01' select case when datediff(month, @employed, @run_date) % 6 = 0 and day(@run_date) = day(@employed) and datediff(month, @employed, @run_date) > 0 then 1 else 0 end as Skicka_påminnelse


Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106