简单问题 关于时间计算
Sqlserver2000中
declare @dt datetime
declare @dtStart datetime
declare @dtEnd datetime
set @dt=getdate()
-----------------------------
获得当前时间后,比如为 2013-05-23 14:21:32
如何计算是的 其他两个时间比变量值等于 ??
@dtStart =2013-05-23 14:00:00 (去掉本时间的分和秒)
@dtEnd =2013-05-23 15:00:00 (在本时间的值上小时+1)
[解决办法]
SET @dtStart=DATEADD(hh,DATEDIFF(hh,1,@dt),1)
SET @dtEnd=DATEADD(hh,DATEDIFF(hh,1,@dt)+1,1)
SELECT @dtStart,@dtEnd
[解决办法]
SELECT CONVERT(VARCHAR(30),CONVERT(DATE,'2013-05-23 14:21:32'))+' '+SUBSTRING(CONVERT(VARCHAR(20),CONVERT(TIME,'2013-05-23 14:21:32')),1,2)+':00:00'
SELECT CONVERT(VARCHAR(30),CONVERT(DATE,'2013-05-23 14:21:32'))+' '+SUBSTRING(CONVERT(VARCHAR(20),DATEADD(hour,1,CONVERT(TIME,'2013-05-23 14:21:32'))),1,2)+':00:00'
/*
-----------------------------------------
2013-05-23 14:00:00
(1 行受影响)
-----------------------------------------
2013-05-23 15:00:00
*/