微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SqlServer 中两时间相减 DATEDIFF()

DATEDIFF 返回跨两个指定日期的日期和时间边界数。 语法 DATEDIFF ( datepart,startdate,enddate ) 参数 datepart 是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft? sql Server? 识别的日期部分和缩写。 日期部分 缩写 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 是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。 因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。 如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。 有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。 enddate 是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。 返回类型 integer 注释 startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。 当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。 计算跨分钟、秒和毫秒这些边界的方法,使得 DATEDIFF 给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。 示例 此示例确定在 pubs 数据库标题发布日期和当前日期间的天数。 USE pubs GO SELECT DATEDIFF(day,pubdate,getdate()) AS no_of_days FROM titles GO

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐