sql语句时间差

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年


你可能感兴趣的:(sql语句,时间差)