日期计算问题 200分(100分)

  • 主题发起人 主题发起人 bigfeng
  • 开始时间 开始时间
B

bigfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我要做一段程序里面有两个字段一个是日期(日期型),一个是时间(字符型),怎样才能用SQL
过滤出第一天上午8:00到第二天9:00之间的记录,有没有什么数据库支持日期连着时间的?
例 日期 时间 内容
2001-8-10 8:00:00 上班
2001-8-10 9:00:00 打扫卫生

2001-8-11 7:44:00 换班
先答者先得分.
 
首先,提问的时候你应该说明是什么数据库,这样才好让人回答
其次,所有数据库都支持时间与日期存在一起的!只是有些数据库分得细一些,把日期与
时间也独立成一个字段类型。
所以你应该把两个字段合并成一个字段, 在ORACLE中就是DATE类型。
 
应该说,几乎所有的数据库都能支持日期和时间在一起的。
其实,日期在数据库以及各种编程语言中一样,实际上都是以实数的形式储存的,
其中整数部分代表日期,小数部分代表时间。
你可以有以下办法:
1、将两个字段合二为一,比较起来就方便了。
2、若合二为一实施起来比较困难,也可以延续你的以前思路,但是必须强调一点:
你的时间格式必须严格统一,建议用两位的小时、两位的分钟、两位的秒钟,比如
“7:44:00”必须更改为“07:44:00”,“7:4:00”必须更改为“07:04:00”。这样
的话,字符串也可以比较大小了!
 
一般来说,日期型都包含了时间了.比如说Oracle中的DATE类型.举一例:
select * from youtble where yourdate between to_date('2001/10/24 09:30:00','yyyy/mm/dd HH:mi:ss') and to_date('2001/10/25 09:30:00','yyyy/mm/dd HH:mi:ss')
这样,就可以查出中间日期的数据.
最后,又看了一下你的问题,原来你还不知道用什么数据库.若你的数据很多,我建议用ORACLE,
若你的数据不多,我建议你用ACCESS,都支持日期连时间.
 
我想用DB2或FOXPRO数据库
 
为什么要日期和时间分开来存呢?
如果在一起,就可以很easy的实现你的要求,很简单的一条
sql语句
 
我测试的 Visual FoxPro 5 支持日期时间类型字段
 
接受答案了.
 
后退
顶部