关于access数据库查询

chzhli186858 2006-07-15 01:00:28
我用SQL语句查询数据库
select * from baseinfo where (adddate >= #2006-06-03#)\r\n and (adddate<= #2006-06-30#
数据库内有
2006-06-04
2006-06-08
2006-06-13
2006-06-13

记录
当我将查询时间范围设置成 2006-06-03至2006-06-10 时,可以查询到
2006-06-04
2006-06-08
两条记录
当设置成 2006-06-03至2006-06-30 时,可以查询到
2006-06-13
2006-06-13
两条记录

2006-06-04
2006-06-08
确查询不到
按理说也在时间范围内,为什么?哪里些错啦?
数据库该字段格式是(date/time)

...全文
391 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
MEFULEU 2006-07-26
  • 打赏
  • 举报
回复
select * from test where date='2006-5-21'
billfranck 2006-07-26
  • 打赏
  • 举报
回复
当然你也可以用#也是可以的 ACCESS数据库
billfranck 2006-07-26
  • 打赏
  • 举报
回复
时间日期本质是double型的,你把你的字符串2006-06-03 , 2006-06-30 转成时间日期型

TDateTime tmpdate1, tmpdate2, sqlstr;

tmpdate1 = StrToDateTime("2006-06-03");
tmpdate2 = StrToDateTime("2006-06-30");

sqlstr ="select * from baseinfo where adddate >=";
sqlstr += "\'";
sqlstr += tmpdate1 ;
sqlstr += "\'";
sqlstr +=" and adddate <=";
sqlstr +="\'";
sqlstr += tmpdate2;
sqlstr +="\'";

Query->sql->clean();
Query->sql->add(sqlstr);
Query->open();
jaffy 2006-07-25
  • 打赏
  • 举报
回复
日期查询时,需要注意一个问题:
就是日期格式,在控制面板的区域选项中有关于时间格式的限制,特别是取NOW时;
ACCESS 的日期查询,是有点问题,最好CAST转换以后比较好点.
Persistent8813 2006-07-25
  • 打赏
  • 举报
回复
应该是系统日期格式的问题,在SQL查询时日期在内存中的格式是什么样的呢?应该是一个实数值的形式吧,如果以实数比较就不用管日期格式了。
Persistent8813 2006-07-25
  • 打赏
  • 举报
回复
程序中最好要做到与系统日期格式无关,想听听大家的意见,我一般是传参数,不存在格式问题
flowercity 2006-07-24
  • 打赏
  • 举报
回复
楼上的
我用access数据库在98下就是出现这个怪问题啊
奇怪的很
在2k和xp下就是正确的
不过今天问题通过另外一个方法解决了
flowercity 2006-07-22
  • 打赏
  • 举报
回复
楼上的
操作系统在什么地方可以把日期格式设置成yyyy-mm-dd ???
CACACACACA 2006-07-22
  • 打赏
  • 举报
回复
我在delphi下这么写SQL就行:
select * from test where date=#5-21-2006#

select * from test where date=#2006-5-21#
就查询不到数据.
stevenjscn 2006-07-20
  • 打赏
  • 举报
回复
操作系统里日期格式设置成yyyy-mm-dd试试。
liqingle 2006-07-20
  • 打赏
  • 举报
回复
select * from baseinfo where adddate >= #2006-06-03# and adddate <= #2006-06-30#
这样是没问题的.
sanyou98 2006-07-20
  • 打赏
  • 举报
回复
select * from baseinfo where adddate between # 2006-06-03 # and # 2006-06-30 #
flowercity 2006-07-15
  • 打赏
  • 举报
回复
select * from baseinfo where adddate >= #2006-06-03# and adddate <= #2006-06-30#
haduke 2006-07-15
  • 打赏
  • 举报
回复
sQL语句怪怪的,\r\n 去掉试试看!
chzhli186858 2006-07-15
  • 打赏
  • 举报
回复
怎么没人帮忙?

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧