DECLARE @string VARCHAR(MAX) SET @string = 'UPDATE dbo.IpCount WITH ( ROWLOCK ) SET ' + @region + '='+ cast(@a + 1 AS NVARCHAR(200))+' WHERE ipType = 2 AND riqi =CONVERT(VARCHAR(10), GETDATE(), 120)'
这样是可以的,但是我想查询的是当天的记录 所以我要riqi >'2014-03-28 00:00:00' and riqi <'2014-03-28 23:59:00' 但是我这样写总是报错误
SELECT @beginTime = CAST(CONVERT(NVARCHAR(20), DATEADD(DAY, 0, GETDATE()), 23)
+ ' ' + '00:00:00' AS SMALLDATETIME) ,
@endTime = CAST(CONVERT(NVARCHAR(20), DATEADD(DAY, 0, GETDATE()), 23)
+ ' ' + '23:59:00' AS SMALLDATETIME)
DECLARE @string VARCHAR(MAX)
SET @string = 'UPDATE dbo.IpCount WITH ( ROWLOCK ) SET ' + @region + '='+ cast(@a + 1 AS NVARCHAR(200))+' WHERE ipType = 2 AND riqi >' + @beginTime
取当天日期,可以这样:
select * from TB t where datediff(dd,t.riqi,getdate())=0
riqi >'2014-03-28 00:00:00' and riqi <'2014-03-28 23:59:00' 你直接查询时间为2014-03-28这一天的啊 这样结果是一样的嘛