vgetdate()-有关问题

vgetdate()-问题?select(getdate()- 2007-08-1002:47:48.420 )为什么结果是这个1900-01-0106:30:12.953???

vgetdate()-问题?
select     (getdate()- '2007-08-10   02:47:48.420 ')   为什么结果是这个1900-01-01   06:30:12.953   ???
我想删除连接3小时没有活动的用户,但现在这样写不行.为什么啊?
Delete   OnlineUser   where   getdate()-startime> 0.3


[解决办法]
select dateadd(hour, -3, getdate())