如何判断日期(100分)

  • 主题发起人 主题发起人 狂龙
  • 开始时间 开始时间

狂龙

Unregistered / Unconfirmed
GUEST, unregistred user!
各位仁兄:
请问在一个有很多数据的数据库中,比如:要把从8月27日到9月26日的数据进行累加,
请问如何用SQL来判断所加的日期是这一时间段的数据呢!?怎样来判断日期?
 
date>=#2002/2/27# and date<=#2002/9/26#
 
但是,我要实现的是某一段时间内的数据相加,比如:x月的27日到x月的26日(这是不同的
两个月)中的数据相加,这样的日期该如何判断
 
select sum(求和的字段) from 表
where 日期>=#2002/2/27# and 日期<=#2002/9/26#
 
这样就固定在这一段时间内了,有没有比较灵活的方法呀
 
s:='select sum(求和的字段) from 表 where 日期>=#%s# and 日期<=#%s#';
with adoquery1.sql do
begin
clear;
add(format(s,[起始日期,结束日期]));
open;
end;
起始日期和结束日期为字符串型
 
你说的这样,是不是需要两个edit来做为起止日期的输入呀
 
老兄,这样说不方便,我的QQ是
56317400
 
(1)用给参数赋值的方式如

query1.sql.add('select * from tablename where regdate>:lastdate');
query1.parambyname('lastdate').asdatetime:=strtodate('2001-01-01');
query1.open;
(2)只适用于ACCESS
sql:='SELECT * FROM tablename WHERE time_in>=#'+formatdatetime('yyyy/mm/dd',sdt - 1)+'# '
+' AND time_out<=#'+formatdatetime('yyyy/mm/dd',edt + 1)+'# ';

(3)
在sql语句中给日期型赋值
用引号把转换成字符串的时间引起来。如
fieldname:='''+formatdatetime()+'''';
 
不用edit自己输入,用datetimepicker就行了
 
select sum(求和的字段) from 表
where 日期字段名称='2002-2-27' or 日期字段名称='2002-9-26'
 
对不起写错了!
更正
select sum(求和的字段) from 表
where 日期字段名称 between '2002-2-27' and '2002-9-26'
 
好像都指定了年,如果是2000年的8月1日-8月30日,2001年的8月1日-8月30日
2002年的8月1日-8月30日,或者数据库中的所有年份的
该如何做.
我不知道该怎么做
 
我用datetimepicker来做为日期的选择时,比如:有以下这样数据:
都是2002年的数据
日期 数据
4-1 256
5-6 125
10-6 489
现在对4-1和5-6的数据进行相加后,得:381 对4-1到10-6相加得870
对5-6到10-6相加得:614 可是不管选择哪一组最后得数都为870,不知道是怎么回事
 
select sum(求和的字段) from 表
where 日期字段名称 between '+datetimepicker1.value+' and '+datetimepicker2.value
 
请问如何计算两个表中的数据
 
这些都是一些基础的东西,你要好好学习SQL语言,
先看看帮助,全面了解一下,能解决部分问题,如再不能解决再上DFW吧
 
谢谢大家
 
后退
顶部