关于数据查询的问题,急我给我所有的分。(180分)

  • 主题发起人 主题发起人 fartrip
  • 开始时间 开始时间
F

fartrip

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到一个问题
关于TQUERY的用法或用其它方法取代也可。
具体内容是这样的。 我要找出在某一时间段内的数据。(要求精确到分,秒)即在某年某月
某日某时某分某秒与某年某月某日某时某分某秒的数据。
而且要求按照某一字段或某几个字段进行排序。
若能用TQUERY 实现是最好的了。
用其它方法实现也可以。
 
select * from 表名 where 时间 between :时间变量 and :时间变量 order by 字段名
 
某一时间段内的数据是指你有一个时间类型字段吗?还是指生成记录的时间
前者你要说清楚你用什么数据库,因为数据库提供的函数sql语法有些差异
后者?困难。
 
select * from table where ** ....to_char('12:10:10','hh:mi:ss')...
 
有NEW属性
 
var aa,bb:TDateTime;
aa:=DateTime1;//这里DateTime1,2 是实际的DateTime类型的值。
bb:=DateTime2;
ss:=format('select * from tb1 where 字段>=#%s# and 字段<=#%s#',
[datetimetostr(aa),datetimetostr(bb)]);
query1.SQL.Add(ss);
query1.open;
 
补充说明
我用的是DELPHI
提供的数据库DB,此数据库只提供了日期型字段和时间型字段无日期时间型字段。
各位高手麻烦你了。
 
用一个日期字段和一个时间字段分别存储日期和时间
查询时用如下语句:
select * from yourtable
where (Date between :Date1 and :Date2)
and (Time between :Time1 and :Time2)
order by 字段名
其中,Date1,Date2,Time1,Time2为你要的日期和时间参数
 
如果说 Paradox 没有日期时间型字段,那你在表中是怎样保存的呢?
如果你没有保存日期或者时间,怎么可能查询得到呢?
如果你保存了日期或者时间,那么怎样保存进去的,怎样取出来就行了啊。

我有点糊涂了。:-(
 
你是不是存的是字符串啊
 
我同意“左右手”的
 
的的确确没有日期时间型。
存贮的方法是日期和时间分开存。
它只分别提供了日期型及时间型
 
fartrip 大虾:
你既然能够保存,怎样保存就怎样查询不就行了吗?
Select ... Where (Date Between :Date1 And :Date2) And (Time Between :Time1 And Time2)
其实这个方法左右手前面已经说过了,是不是没有看到啊。
 
应该可以这样吧。。。。
select .....
where ((date > date1 ) and (date < date2)) or
((date = date1) and (time >= time1)) or
((date = date2) and (time <= time2))
我想这样应该比较全一点
 
能不能先把它转换成字符型再比较。
 
左右手说的对。
 
同意“左右手”
 
同意“左右手”
 
DB2的日期时间型 TIMESTAMP
 
此问题本人已经解决。
方法很好。
上山打鸟见者有份
 
后退
顶部