首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

简单有关问题 关于时间计算

2013-07-09 
简单问题关于时间计算Sqlserver2000中declare@dtdatetimedeclare@dtStartdatetimedeclare@dtEnddatetimese

简单问题 关于时间计算
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
*/

热点排行