各位大哥帮我看看这句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%'
它就说“无效的关系运算符”
...全文
62 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
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(既最后一个条件去掉就可以了,到底怎么回事?????)

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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