oracle中使用replace函数遇到的棘手问题,非常棘手,在线等

milankaka22 2008-05-27 04:13:26
当我在输入框里输入关键字时,我希望搜索出来的结果中关键字都显示成红色,我是在oracle中实现的,SQL语句如下
SELECT replace(title,${keyword},'<font color="red">'||${keyword}||'</font>') tit
from a
where title like '%'||${keyword}||'%'

可是当执行到SQL语句的时候报错了.报错如下
SELECT ques_id,
replace(title,'甲骨文',')
select fail.:java.sql.SQLException: ORA-01756: quoted string not properly terminated


请问这个问题如何解决?
...全文
488 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
robin_ares 2008-05-27
  • 打赏
  • 举报
回复
哦 ,明白你的意思了,
SELECT replace(title,${keyword},' <font color="red">''' ¦ ¦${keyword} ¦ ¦''' </font>') tit
看看
robin_ares 2008-05-27
  • 打赏
  • 举报
回复
不能显示吧。我觉得你会显示<font color="red">甲骨文</font>,而不是红的甲骨文
而且,你的逻辑有问题。${keyword}是title的一部分,你把一部分替换了,剩下的怎么办
直接SELECT '<font color="red">' ¦ ¦title¦ ¦'</font>' tit 就行了吧
milankaka22 2008-05-27
  • 打赏
  • 举报
回复
我晕,查了百度的,要是能解决,我也不用来发帖了!
jeancky 2008-05-27
  • 打赏
  • 举报
回复
"quoted string not properly terminated " 啊,要好好看出错信息,呵呵
milankaka22 2008-05-27
  • 打赏
  • 举报
回复
不是,是要把"甲骨文"变成红色的甲骨文.
vc555 2008-05-27
  • 打赏
  • 举报
回复
SELECT ques_id,
replace(title,'甲骨文',')
=================================================
少了个单引号,是把title里的“甲骨文”替换为空吗?
SELECT ques_id,
replace(title,'甲骨文','')
milankaka22 2008-05-27
  • 打赏
  • 举报
回复
这是个框架里动态封装变量用的,到了ORACLE里怎么可能还这样!发帖的时候还想着用不用说明一下呢!觉得没必要说明就没说明!
robin_ares 2008-05-27
  • 打赏
  • 举报
回复
${keyword}是变量吧
oracle 不是这么写的
ilovemk 2008-05-27
  • 打赏
  • 举报
回复
晕了,这个是啥东西——${keyword},这样写语法肯定错的啊。。。

17,086

社区成员

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

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