select datediff(day,efftime,exptime) from tab
解决方案 »
- 请问如何用SQL 2008 生成 2000的数据库文件?
- 请问,SQL SERVER 2005新建数据库的时候那个“使用全文索引”的那个复选框为什么为不可选?我要怎么办呢?
- sql关系图中两表建立关系后的删除操作
- 这次有分了,大家帮我看下
- 在VC++.NET中如何寫一個插入函數,通過參數傳遞的方式.(在線等您的熱心回答.)
- 求在sql2005的存取过程中实现的广度优先搜索算法
- 邹建老大,帮忙解决一个数据库进程占cpu高的问题?
- 请问"DELETE FROM ……"删除的记录是否真正删除了?
- 如何统计出一个数字字符串中由几个数字字符组成?
- ADO连接FoxPro数据库和Sql Server有什么不同吗?
- asp语句问题
- 高分求帮助数据库sql语句
返回跨两个指定日期的日期和时间边界数。 语法
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
GOABS
返回给定数字表达式的绝对值。语法
ABS ( numeric_expression ) 参数
numeric_expression精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。返回类型
返回与 numeric_expression 相同的类型。示例
下例显示了 ABS 函数对三个不同数字的效果。SELECT ABS(-1.0), ABS(0.0), ABS(1.0)下面是结果集:---- ---- ----
1.0 .0 1.0ABS 函数可能产生溢出错误,例如:SELECT ABS(convert(int, -2147483648))下面是错误信息: Server: Msg 8115, Level 16, State 2
Arithmetic overflow error converting expression to type int.
select datediff(dd , efftime , exptime)