【求助】access+delphi,高手进,在线等,急~~~~(50)

  • 主题发起人 主题发起人 gu_leilei
  • 开始时间 开始时间
G

gu_leilei

Unregistered / Unconfirmed
GUEST, unregistred user!
整个access表内容是2000年12月1号到2002年12月31号南京降水量信息。下面是表的部分信息:年 月 日 城市 降雨2000 12 1 南京 502000 12 2 南京 302000 12 3 南京 252000 12 4 南京 25。。。 。。。现在譬如我要查询2000年12月1号到2001年2月3号这段时间内南京的降水量记录,这个sql语句该怎么写?
 
select * from tab1 where 年>=2000 and 年<=2001 and 月>=12 and 月<=2 and 日>=1 and 日<=3
 
楼上的朋友所写的语句不对,仍然谢谢你~~~~
 
SELECT * from tab where cdate(年+'-'+月+'-'+日) between cdate('2001-12-1') and cdate('2001-2-3')
 
Delphi世界qq群23981160
 
hnw1982朋友,查询的时候报错了,错误是“标准表达式中数据类型不匹配”,能不能再改改语句?
 
试试这个select * from tab where convert(datetime,年+'-'+月+'-'+日)>='2000-12-01' and convert(datetime,年+'-'+月+'-'+日)<='2001-02-03'
 
贝尔你好,我用的是access数据库的数据,也报错,错误是表达式中convert函数未定义,怎么解决?
 
日期比较用计算吧,年*1000+月*40+日比大小
 
woshisunyi,能说的更明白点吗
 
2000*1000+12*40+1<Year*1000+Month*40+Day<2001*1000+2*40+3其中的1000,40好像还可以再改小一些,总之要保证计算出来的值按照日期增加就是了
 
SELECT * from tab where cdate(年+'-'+月+'-'+日) between cdate('2001-12-1') and cdate('2001-2-3') 看你年、月、日格式是文本类型的还是数字类型的? 我这个是把年、月、日当成文本类型的测试通过如果是数字类型的话你用这个SELECT * from tab where cdate(cstr(年)+'-'+cstr(月)+'-'+cstr(日)) between cdate('2001-12-1') and cdate('2001-2-3')
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部