各位大哥帮我看看这句SQL语句到底哪里出错好不好!

huangxiaoke2000 2004-05-08 11:32:47
在SQL*Plus中执行时,总是出现未预期的SQL命令结尾!
select Client_Info.*,NetBar_Info.NetBarName from Client_Info,NetBar_Info where Times Between to_date('2004-04-25 10:05:15','YYYY-MM-DD HH24:MI:SS') And to_date('2004-05-08 10:05:15','YYYY-MM-DD HH24:MI:SS') And Client_Info.Area_ID = 1 And Client_Info.Netbarid like '%55555%' And Client_Info.Type = 11 And Client_Info.CERT_Number like '%44444%' And NetBar_Info.Netbarname like '%22222%' And Client_Info.ClientId = '66666' And Client_Info.name like '%33333%' And Client_Info.machinename = '11111' And Client_Info.NetBarID=NetBar_Info.NetBarID order by times

我把它压缩到这一句时
select Client_Info.*,NetBar_Info.NetBarName from Client_Info,NetBar_Info where Client_Info.Times Between to_date('2004-04-25 10:05:15','YYYY-MM-DD HH24:MI:SS') And to_date('2004-05-08 10:05:15','YYYY-MM-DD HH24:MI:SS') And Client_Info.Area_ID = 1 And Client_Info.Netbarid like '%55555%'
它就说“无效的关系运算符”
...全文
29 18 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ronerlu 2004-05-10
我赞成 hepp(皮皮)的推测。

本有意替楼主调试,但好像楼主有保密的倾向,算了。
  • 打赏
  • 举报
回复
dvmail 2004-05-10
哦,偶用的是months_between
  • 打赏
  • 举报
回复
dvmail 2004-05-10
。。你那个between用的。。。偶用的时候都加括号
  • 打赏
  • 举报
回复
jinsfree 2004-05-09
星星的应该是对的
  • 打赏
  • 举报
回复
ern 2004-05-09
dinya2003(OK):你不妨试验一下,如果先列出....*,后面再跟字段是会报错的,反正我遇到过。
huangxiaoke2000(小小):放到最后就是说不要在select列表中间用到*,把这个放到列表的最后一个,或者像楼上平平淡淡说的那样用具体字段来代替*,就是具体写出字段名。不能保证成功,但不妨一试
  • 打赏
  • 举报
回复
ronerlu 2004-05-09
select * ,a n from s;必须改成如下:
select s.* ,a n from s;

还有,请楼主给我你那两个表的建表sql,我可以在我这边的环境中给你调试一下。当然,如果需要的话。
  • 打赏
  • 举报
回复
dinya2003 2004-05-09
Client_Info.*放到最后
Client_Info.* 用具体的字段代替。

上面的这两条都不是必须的.放不放到最后,用不用具体的字段代替该是一样的.
  • 打赏
  • 举报
回复
hepp 2004-05-09
我认为是你的*所代表的字段名和你列出的字段名有重复。重命名就好了
  • 打赏
  • 举报
回复
shawnzhao 2004-05-09
把Client_Info.Netbarid like '%55555%'变成instr(Client_Info.Netbarid,'55555')>0
试试
  • 打赏
  • 举报
回复
blueshu 2004-05-08
不用.*算了^__^
  • 打赏
  • 举报
回复
LGQDUCKY 2004-05-08
把这个加上个括号试
(Client_Info.Times Between to_date('2004-04-25 10:05:15','YYYY-MM-DD HH24:MI:SS') And to_date('2004-05-08 10:05:15','YYYY-MM-DD HH24:MI:SS'))
  • 打赏
  • 举报
回复
welyngj 2004-05-08
看这个错误。
SQL> select * ,a n from s;
select * ,a n from s
*
ERROR 位于第 1 行:
ORA-00923: 未找到预期 FROM 关键字


SQL> select a b,a n from s;

B N
---------- ----------
2 2
3 3
6 6
12 12
16 16
  • 打赏
  • 举报
回复
welyngj 2004-05-08
Client_Info.*

用具体的字段代替。
  • 打赏
  • 举报
回复
ern 2004-05-08
Client_Info.*要放到最后
  • 打赏
  • 举报
回复
ronerlu 2004-05-08
Client_Info.Netbarid 是数字型还是字符型?
  • 打赏
  • 举报
回复
huangxiaoke2000 2004-05-08
加上括号没有用
  • 打赏
  • 举报
回复
huangxiaoke2000 2004-05-08
“Client_Info.*要放到最后”是什么意思?
  • 打赏
  • 举报
回复
huangxiaoke2000 2004-05-08
我把select Client_Info.*,NetBar_Info.NetBarName from Client_Info,NetBar_Info where Client_Info.Times Between to_date('2004-04-25 10:05:15','YYYY-MM-DD HH24:MI:SS') And to_date('2004-05-08 10:05:15','YYYY-MM-DD HH24:MI:SS') And Client_Info.Area_ID = 1 And Client_Info.Netbarid like '%55555%'变成
select Client_Info.*,NetBar_Info.NetBarName from Client_Info,NetBar_Info where Client_Info.Times Between to_date('2004-04-25 10:05:15','YYYY-MM-DD HH24:MI:SS') And to_date('2004-05-08 10:05:15','YYYY-MM-DD HH24:MI:SS') And Client_Info.Area_ID = 1(既最后一个条件去掉就可以了,到底怎么回事?????)
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
申请成为版主
帖子事件
创建了帖子
2004-05-08 11:32
社区公告
暂无公告