sql中有没有时间间隔的类型

comeonstuding 2003-09-29 09:43:14

TIME DATATIME
TIME1 DATATIME
TIME=TIME1+?
?=TIME1-TIME

mfc
中的CTimeSpan
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-09-30
  • 打赏
  • 举报
回复
DATEDIFF
返回跨两个指定日期的日期和时间边界数。

语法
DATEDIFF ( datepart , startdate , enddate )

参数
datepart
日期部分 缩写
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms


startdate---是计算的开始日期。
enddate-----是计算的终止日期。

返回类型----integer

示例
此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

w_rose 2003-09-29
  • 打赏
  • 举报
回复
因此你就可以理解,两个时间相减仍然是一个时间,这个时间的值是怎么来的!
w_rose 2003-09-29
  • 打赏
  • 举报
回复
时间是用实数来表达的。整数部分是从1900年以来的天数,小数部分是毫秒(还是千分之一秒,我记不清了)。

你可以试试:

print cast('20030902 12:34:58.5' as datetime)-cast('20030901 11:49:59.9' as datetime)
print cast(1.03123 as datetime)
go
pengdali 2003-09-29
  • 打赏
  • 举报
回复
select datediff(day,'2001-1-1','2002-1-1') 天
select datediff(month'2001-1-1','2002-1-1') 月
select datediff(year,'2001-1-1','2002-1-1') 年
welyngj 2003-09-29
  • 打赏
  • 举报
回复
没有此类型,但有函数datediff.
此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧