这句sql为什么不对(type mismatch in expression)?Select * from 余额表 where 日期>= '01-10-1' and 日期<= '01-10-31'(日期是Date类型)

fangrk 2001-12-07 09:41:01
...全文
1007 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovebcb 2002-03-22
  • 打赏
  • 举报
回复

PARADOX表中的日期字段只接受一种格式:mm/dd/yyyy
如 where date>='03/27/2001'

fangrk 2001-12-10
  • 打赏
  • 举报
回复
我改变了一下语句,选用insert,日期的写法还是不对。
insert into 余额表(帐号,户名,余额,日期,科号,币种代码) values('110202401','某某有限公司','1000000',StrToDate('2001-10-31'),'12199','001')

insert into 余额表(帐号,户名,余额,日期,科号,币种代码) values('110202401','某某有限公司','1000000',TDate('2001,10,31'),'12199','001')

都说"Capability not supported"

用ParamByName("rq1"),说riqi没有定义什么的!
fangrk 2001-12-09
  • 打赏
  • 举报
回复
好的,我再试试看!
guardian 2001-12-09
  • 打赏
  • 举报
回复
select * from table t where t.'日期'>=TDate(2001,10,01) and t.'日期'<=TDate(2001,10,31)
_Guest_Only 2001-12-09
  • 打赏
  • 举报
回复
同意CIM(镜子),这样的问题遇到过
fangrk 2001-12-08
  • 打赏
  • 举报
回复
year(riqi)算什么意思?
781014 2001-12-08
  • 打赏
  • 举报
回复
我抬嘻嘻
ciml 2001-12-07
  • 打赏
  • 举报
回复
呵呵,请用参数形式
Query->SQL->Add("select * from table where 日期>=:rq1 and 日期<=:rq2");
Query1->ParamByName("rq1")->AsDate=StrToDate(edtDate1->Text);
Query1->ParamByName("rq2")->AsDate=StrToDate(edtDate2->Text);
catyou 2001-12-07
  • 打赏
  • 举报
回复
你用的是什么数据库
xiaoyu 2001-12-07
  • 打赏
  • 举报
回复
select * from table t where t.'日期'>='2001-10-01' and t.'日期'<='2001-10-31'
我一般把日期字段设置为字符,长度为10
日期处理比较麻烦
fangrk 2001-12-07
  • 打赏
  • 举报
回复
01-10-1 和01-10-31已经是经过StrToDate()处理过了。
AnsiString sql="select * from table where 日期>='"+StrToDate(d1)+" and 日期<="+
StrToDate(d2)+"'"
kill_net 2001-12-07
  • 打赏
  • 举报
回复
select * from table
where year(riqi)>:year1
and month(riqi)>:month1
and day(riqi)>:day1
and year(riqi)<:year2
and month(riqi)<:month2
and day(riqi)<:day2
一定好用
Karl_Ma 2001-12-07
  • 打赏
  • 举报
回复
设置控制面版的区域选项的日期格式为yy-mm-dd
瑶瑶爸爸 2001-12-07
  • 打赏
  • 举报
回复
Select * from 余额表 where 日期>= To_date('01-10-1') and 日期<= To_date('01-10-31')
你自己查一下To_Date的参数形式吧,可能还包括时分秒呢!
fangrk 2001-12-07
  • 打赏
  • 举报
回复
使用BCB4,数据表是Paradox(.db)。
用TQuery查找。
我把SQL语句显示出来,就是这样的。
运行就说:Type mismatch in expression
bcboy 2001-12-07
  • 打赏
  • 举报
回复

你用的是Access吧,应该用 data > #2001-11-11#
这个问题我也遇到过。
.
XioGua 2001-12-07
  • 打赏
  • 举报
回复
可能数据库的日期是长整型。。。

改成:“2001-10-31”试试看。。。
chzhli186858 2001-12-07
  • 打赏
  • 举报
回复
代码
ggyy 2001-12-07
  • 打赏
  • 举报
回复
什么数据库?
fangrk 2001-12-07
  • 打赏
  • 举报
回复
我想是我的格式写错了,因为用TTable按照我上面的格式完全可以,我想用TTable和SQL Monitor来查看是怎么写法的,但是SQL Monitor的状态总是disconnected.
万不得已,我才把DATE拆分成为两个Short int的。
加载更多回复(7)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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