请问该如何用SQL语句,筛选出一段时间来? ( 积分: 100 )

  • 主题发起人 主题发起人 piguan
  • 开始时间 开始时间
P

piguan

Unregistered / Unconfirmed
GUEST, unregistred user!
一个字段是记录日期和时间的,如下:
CHECKTIME
2007-08-07 8:00:00
2007-08-07 15:39:48
2007-08-07 15:42:47

日期和时间合并在一个字段里。
请问该如何用SQL语句,筛选出一段时间来?
 
你的“一段时间”是什么概念?
 
是啊~有点不清楚意思,如果是要把"2007-08-07 8:00:00"=>"2007-08-07 00:00:00"
可以这样select convert(datetime,substring(CONVERT(varchar,CHECKTIME),0,11)) from table
 
一段时间是指某天的x个小时,例如 2008-08-07 八点到八点半。
 
就是普通的查询,没什么特别的
 
没什么特别的啊 select * from table1 where tim1<CHECKTIME <time2
 
Select * From Table1 Where CheckTime Between Time1 And Time2
 
不要说简单,你们试一下?做个ACCESS出来试试。第一个,“8:00:00”小时部分它只用了一位。第二,简单的< >可以判断出时间来吗?

要具体一点:
adoquery.sql.add('*****');
中间的*****怎么写?
努力思考中。。。。
 
没有环境测试,
ChrisMao的答案在sqlserver中应该没有问题
可以试试把access中时间字段的格式改成00:00:00的要不然比较会有问题
 
sql语句:
select * from usertable
where CHECKTIME>'2007-08-07 08:00:00' and CHECKTIME<'2007-08-07 08:30:00'
 
select * from table1 where format(CHECKTIME,'hh:mm:ss') between '08:00:00' and '08:30:00'
或者
select * from table1 where format(CHECKTIME,'hh:mm:ss')>='08:00:00' and format(CHECKTIME,'hh:mm:ss')<='08:30:00'
 
先对你的datetime字段进行格式化,你的'8:00:00'就成了'08:00:00'这样去比较不就行了
 
谢谢大家的热情帮助。
我这个问题就是,数据表已经由原来的程序做好的了,我是在它基础上二次开发。所以不能改。
 
riccdw 的回答 比较好

这个问题 是 取出 N 天中 的 每一天 的 某时间 段的 记录

其它 的回答 都牛头不对马嘴 ,感觉高人太少 ,人气不足啊
 
access 时间用:#

select * from usertable
where CHECKTIME>#2007-08-07 08:00:00# and CHECKTIME<#2007-08-07 08:30:00#
 
未解决,希望大家最好是动手做一做,解决以后一起分享一下。
 
access 吗,试试这个,
sql语句:
select * from usertable
where [CHECKTIME]>#2007-08-07 08:00:00# and [CHECKTIME]<#2007-08-07 08:30:00#
 
为什么加个括号?
提示“不正常地定义参数对象。提供了不一致或不完整的信息。”
 
Access里面的SQL语法不一样的,用CDate()吧
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
893
import
I
I
回复
0
查看
632
import
I
后退
顶部