select CONVERT(varchar(100), g.LastHeartTime, 120) from TcpListener.dbo.GPRSs g ;
select DateDiff(s,CONVERT(varchar(100), g.LastHeartTime, 120), CONVERT(varchar(100),GETDATE() , 120)) from TcpListener.dbo.GPRSs g;
select g.PID,g.GPRSTel,g.NeighborName,g.GPRSAddr,g.GPRSstate,
g.LastHeartTime,g.Remark from TcpListener.dbo.GPRSs g
where
(g.GPRSstate='1' and DateDiff(s,CONVERT(varchar(100), g.LastHeartTime, 120), CONVERT(varchar(100),GETDATE(), 120)) <= 3600)
or
(g.GPRSstate='7' and DateDiff(s,CONVERT(varchar(100), g.LastHeartTime, 120), CONVERT(varchar(100),GETDATE(), 120)) <= 3600);
这里使用了连个函数,CONVERT函数和DateDiff函数
CONVERT函数SQL语句及查询结果:
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
DateDiff函数
举例:
1.GetDate() 用于sql server
select GetDate()
2.
SELECT DateDiff(s,’2005-07-20’,’2005-7-25 22:56:32’)返回值为 514592 秒
SELECT DateDiff(d,’2005-07-20’,’2005-7-25 22:56:32’)返回值为 5 天
3.
SELECT DatePart(w,’2005-7-25 22:56:32’)返回值为 2 即星期一(周日为1,周六为7)
SELECT DatePart(d,’2005-7-25 22:56:32’)返回值为 25即25号
SELECT DatePart(y,’2005-7-25 22:56:32’)返回值为 206即这一年中第206天
SELECT DatePart(yyyy,’2005-7-25 22:56:32’)返回值为 2005即2005年