一个借书的信息表tsjyxxb,里面有字段jsrq(借书日期),jyts(借阅天数)
现在是想查询有无超过时间的借阅信息,用现在的日期与借书日期进行比较,当数字大于借阅天数时表示该条信息超期
我用的是ASSECC数据库
select * from tsjyxxb where DateDiff(''D'',jsrq,GetDate())>jyts
这个语句好象执行完没有数据出来的,但实际是应该有的。
请各位帮指点下应该怎么修改这个语句
谢谢!
现在是想查询有无超过时间的借阅信息,用现在的日期与借书日期进行比较,当数字大于借阅天数时表示该条信息超期
我用的是ASSECC数据库
select * from tsjyxxb where DateDiff(''D'',jsrq,GetDate())>jyts
这个语句好象执行完没有数据出来的,但实际是应该有的。
请各位帮指点下应该怎么修改这个语句
谢谢!
解决方案 »
- ??简单ListBox问题 ??
- 象酒店系统的房态图,每个房间的房态怎么做的,用什么控件
- socket 中用record发送和接受数据包问题
- 如何20080516113103转换时间格式
- 有没有人用过code gear 的Rad studio 2007,我运行出了问题
- 求一个*/?模糊匹配算法,在线等,能用的马上给分。
- 一个小学一年级的题,请大家用DELPHI编个程帮小朋友算一下?
- 在Object Pascal 中,对于过程和函数 有以下五种调用协议: 能否介绍一下各自的特点和用处
- 数据库从Access转到Oracle数据库中,如何处理逻辑形字段数据?
- 能给个stringrid的例子吗?一步步的那种,我有程序可不会把控件和程序对应
- 关于使用内存映射文件的优点
- 两个程序之间传递字符串如何处理?
2、GetDate()这个函数access是否支持。换个别的函数或是直接先用日期代替下试下。
解决办法有2个:
一个是修改DateTimePicker1的Time属性为0:00:00,
一个是把i:=Daysbetween(strTodate('2003-11-12'),DateTimePicker1.Time);修改为
i:=DaysBetween(strTodate('2003-11-12'),
EncodeDateTime( YearOf(DateTimePicker1.Time),
MonthOf(DateTimePicker1.Time),
DayOf(DateTimePicker1.Time),
0,0,0,0));
DaysBetween比较的两个日期如果其时间小于24小时,哪怕差1秒,其返回的值还是0。
应该是现在日期在前
select * from tsjyxxb where DateDiff(''D'',GetDate(),jsrq)>jyts
begin
close;
sql.text := 'select * from tsjyxxb where jsrq-jsts>=:d1';
parameters.ParamByName('d1').Value := now();
Open;
end;换种写法试试
好像应该 是jsrq+jsts<:d1 (借书日期+过期天数<当前日期 时就过期了.
//查询条件的起始时间及结束时间都不为空时,查询返回 开始时间及结束时间都在查询条件之内的结果
querySql += " and to_char(beginDate,'yyyy-mm-dd hh:mm:ss') between '" + beginTime + "' and '" + endTime + "'";
querySql += " and to_char(finishDate,'yyyy-mm-dd hh:mm:ss') between '" + beginTime + "' and '" + endTime + "'";
} else if (beginTime != null && !"".equals(beginTime) && (endTime == null || "".equals(endTime))) {
//查询条件的起始时间不空,结束时间为空时,查询返回 起始时间 在 开始时间之后的结果
querySql += " and to_char(beginDate,'yyyy-mm-dd hh:mm:ss') > '" + beginTime + "'";
} else if (endTime != null && !"".equals(endTime) && (beginTime == null || "".equals(beginTime))) {
querySql += " and to_char(finishDate,'yyyy-mm-dd hh:mm:ss') < '" + endTime + "'";
}