SQL2008中条件语句的问题
写了一个条件语句,请看源码:
--创建timesutc表IF OBJECT_ID('timesutc') IS NOT NULLDROP TABLE timesutc;GOCREATE TABLE timesutc(id INT IDENTITY(1,1), time1 DATETIME NULL, timesutc BIGINT NULL );--创建条件插入语句declare @datetime INT, @dw INT, @dt DATETIME, @dt2 DATETIME; --@timesty AS timesutctype;SET @dt='2012-07-05'; SET @dt2=DATEADD(dy,1,@dt);WHILE @dt2<='2012-07-26' BEGIN SET @dw=DATEPART(dw,@dt2); IF @dw<>1 OR @dw<>7 BEGIN set @datetime=DATEDIFF(ss,'1970-01-01 00:00:00',@dt2); INSERT INTO timesutc VALUES (@dt2,@datetime); END; SET @dt2=DATEADD(dy,1,@dt2); END;IF OBJECT_ID('timesutc') IS NOT NULLDROP TABLE timesutc;GOCREATE TABLE timesutc(id INT IDENTITY(1,1), time1 DATETIME NULL, timesutc BIGINT NULL );declare @dt DATETIME,@dt2 DATETIME; --@timesty AS timesutctype;SET @dt='2012-07-05'; select @dt2=DATEADD(DD,1,@dt)while @dt2<='2012-07-26'begin if DATEPART(W,@dt2)=1 or DATEPART(W,@dt2)=7 begin set @dt2=DATEADD(DD,1,@dt2) end else begin insert timesutc select @dt2,DATEDIFF(SS,'1970-01-01 00:00:00',@dt2) set @dt2=DATEADD(DD,1,@dt2) endendselect * from timesutc/*id time1 timesutc1 2012-07-06 00:00:00.000 13415328002 2012-07-09 00:00:00.000 13417920003 2012-07-10 00:00:00.000 13418784004 2012-07-11 00:00:00.000 13419648005 2012-07-12 00:00:00.000 13420512006 2012-07-13 00:00:00.000 13421376007 2012-07-16 00:00:00.000 13423968008 2012-07-17 00:00:00.000 13424832009 2012-07-18 00:00:00.000 134256960010 2012-07-19 00:00:00.000 134265600011 2012-07-20 00:00:00.000 134274240012 2012-07-23 00:00:00.000 134300160013 2012-07-24 00:00:00.000 134308800014 2012-07-25 00:00:00.000 134317440015 2012-07-26 00:00:00.000 1343260800*/
[解决办法]
IF @dw<>1 AND @dw<>7