涉及日期型字段sql语句如何书写? (30分)

  • 主题发起人 主题发起人 yifeibbs
  • 开始时间 开始时间
Y

yifeibbs

Unregistered / Unconfirmed
GUEST, unregistred user!
select *
from tablename
where rq>=2002-03-01 and rq<=2002-03-15

select *
from tablename
where rq>='2002-03-01' and rq<='2002-03-15'

select *
from tablename
where rq>="2002-03-01" and rq<="2002-03-15"
以上语句均不能正确执行,应该怎么书写?
 
这要看你用的是什么数据库,请参看具体数据库的说明。
大约记得:
Access用 #1999-11-11#
BDE 用 '11-11-1999'
MS SQL "1999-11-11"
其它就不记得了,还有和你的区域设置有关 比如日期分隔符....
 
我试过可以阿
select * from tableName
where rq>='2002-0301' and rq<='2002-03-15'
 
为什么不用between and
 
可以用
select * from tablename where rq>=strtodate('2002-03-01') and rq<=strtodate('2002-03-15')
 
只要你的RQ是日期字段這樣是行不通的,不如用用變量看看
query1.close;
query1.sql.clear;
query1.sql.add('select * from tablename where rq>=:date001 and rq<=:date002');
query1.ParamByName('date001').AsDatetime:=strtodate('2002-03-01');
query1.ParamByName('date001').AsDatetime:=strtodate('2002-03-15');
query1.prepare;
query1.open;
 
同意JobsLee
 
where year(rq)=2002 and month(rq)=3
 
[JobsLee]说的没错!
这要看你用的是什么数据库,请参看具体数据库的说明。
大约记得:
Access用 #1999-11-11#
BDE 用 '11-11-1999'
MS SQL "1999-11-11"
其它就不记得了,还有和你的区域设置有关 比如日期分隔符....
 
我的本意是在sql Explorer中执行查询语句,数据库是paradox。
各位的办法不容易实现
 
ms sql
select *
from tablename
where (rq>='2002-03-01') and (rq<='2002-03-15')
 
问题还没有解决!
不知道是不是查询中有什么设置问题?
 
如果是sqlserver 可以用
select *
from tablename
where (rq>='20020301') and (rq<='20020315')

 
请将你的源码贴出来看看~
 
你有没有设置日期格式啊,可能日期格式不对
 
为什么access数据库查询
语句:select *from tablename where date>#02-4-8# and date<#02-4-23# 能查出来记录
而用:select *from tablename where date>#02-4-8# and date<#02-5-1#却什么也查不到
(以上问题是在win98 delphi6下出现;在win2000下正常)
 
同意 JobsLee , 但, 也要加入 ( ) 在 AND 的 两 边

不同的 数据库系统 用不同的分隔符.

where (*************) and (***********)

不同意 XY_C 好象不行吧. 也没有人 同意.
 
如果将日期存放在变量中使用呢?
query1.add('select * from tablename where rq>=:padate1 and rq<=:padate2');
query1.parambyname('padate1').asdatetime:=
query1.parambyname('padate2').asdatetime:=
query1.open;
 
query1.sql.text:='select * from tablename where rq between ''2002-3-1 0:0:01'' and ''2002-3-15 23:59:59''';
query1.open;
我不知用过多少次了,绝对行得通
 
请问你的字段是否有时分秒,如果该字段含有,时分秒,可能,不能得到正确的结果,
 

Similar threads

后退
顶部