有一个表,它有三个域time_start,time_end,day_between。其中day_between=time_end - time_start, day_between为两个时间相减的天数。在一个dbgrid里面,如何实现当time_start,time_end其一改变时,day_between实现自动计算。谢谢
解决方案 »
- 帮下忙!下面程序怎么会出现Invalid use of keyword。Token:<3000000 line number:1.
- 如何向ADOquery控件中添加动态sql参数?
- 电信部门领导洗澡
- 如何在edit里面单击鼠标选中其中的所有内容
- 请问如何判断一个字符串的前几位是不是和另一个字符串相等?
- 求救!怎样在按扭事件中读取当前缓冲区的内容。急!
- 绝对基础问题~
- 为何在DELPHI6下无法使用TDBLookUpCombobox组件?竟然连text属性都没有,郁闷。
- delphi中有没有能够从函数定义到函数声明的跳转?
- 请问:怎么可以完全删除表中的记录? 代码如下
- ADO问题?????
- adoquery的问题(急!)
...
...
var
i:Integer;
begin
i:=DaysBetween(日期1,日期2)+1; // i为日期1和日期2的天数
end;
Transact-SQL 参考
DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。语法
DATEADD ( datepart , number, date ) 参数
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
number是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。date是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。 如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。返回类型
返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。示例
此示例打印出 pubs 数据库中标题的时间结构的列表。此时间结构表示当前发布日期加上 21 天。USE pubs
GO
SELECT DATEADD(day, 21, pubdate) AS timeframe
FROM titles
GO下面是结果集:timeframe
---------------------------
Jul 3 1991 12:00AM
Jun 30 1991 12:00AM
Jul 21 1991 12:00AM
Jul 13 1991 12:00AM
Jun 30 1991 12:00AM
Jul 9 1991 12:00AM
Mar 14 1997 5:09PM
Jul 21 1991 12:00AM
Jul 3 1994 12:00AM
Mar 14 1997 5:09PM
Nov 11 1991 12:00AM
Jul 6 1991 12:00AM
Oct 26 1991 12:00AM
Jul 3 1991 12:00AM
Jul 3 1991 12:00AM
Nov 11 1991 12:00AM
Jul 3 1991 12:00AM
Jul 3 1991 12:00AM (18 row(s) affected)
请参见CAST 和 CONVERT数据类型日期和时间函数时间格式©1988-2000 Microsoft Corporation。保留所有权利。