Access日期字段查询求教!(50分)

I

ilie

Unregistered / Unconfirmed
GUEST, unregistred user!
我的access数据库的一个表中有个日期/时间字段
(字段的日期格式是“99-01-01”),那么查询SQL语句应该怎么做?
比如说该字段名叫date,我要查询2001年1月1日的数据?
 
你用给参数赋值的方式试试
如query1.sql.add('select * from tablename where regdate>:lastdate');
query1.parambyname('lastdate').asdatetime:=strtodate('2001-01-01');
query1.open;
 
或用这种方式
sql:='SELECT * FROM tablename WHERE time_in>=#'+formatdatetime('yyyy/mm/dd',sdt - 1)+'# '
+ ' AND time_out<=#'+formatdatetime('yyyy/mm/dd',edt + 1)+'# ';
 
条件前后加#,例如
#99-01-01#这就是ACCESS的表达日期的方式
你到ACCESS中在查询视图中,在准则栏中输入99-01-01,它就自动转为#99-01-01#,你去
看看就知道了
 
来晚了
同意oceanwave的
 
来得更晚.
同意 楼上
access 和 sql server 在一些 表达上不一样
如 '*a*' 在 sql server 中 则是 '%'
 
这种问题在大富翁上已有答案了,自己查查嘛,免得浪费分数
 
可用DateTimepicker.date 这个组件
 
日期数据的检索,日期格式要求与Access的日期格式相同,不可与Delphi的数据库
的日期格式相同。
试举一例:
检索两个时间段之间的所有数据,
这两个时间由控件:datetimepicker1和datetimepicker1来决定,那么,SQL语句如下:
DAOquery1.sql.add('select * from main where 生日 between #'
+formatdatetime('mm/dd/yyyy',datetimepicker1.time)+'# and #'
+formatdatetime('mm/dd/yyyy',datetimepicker2.time)+'#');
在这里,我们特意转换时间格式为:“mm/dd/yyyy”格式(月/日/年)格式,
并且,时间用“#”包围起来。
以上摘自 http://www.ccw.com.cn
计算机世界网-Delphi两个经典数据库控件集详解
希望对你有帮助。

 
多人接受答案了。
 

Similar threads

回复
0
查看
721
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部