+ -
当前位置:首页 → 问答吧 → 吧 &lt; 转换 成 < 如何处理

吧 &lt; 转换 成 < 如何处理

时间:2011-09-13

来源:互联网

select replace('&lt;dsdsd','&lt;','<') from dual

作者: w252228767   发布时间: 2011-09-13

已用时间:  00: 00: 00.00
dingjun123@ORADB> set define off
dingjun123@ORADB> select replace('&lt;dsdsd','&lt;','<') from dual;

REPLAC
------
<dsdsd

已选择 1 行。


当然在程序里就不需要特别处理了,因为&在工具里是特殊字符,host变量的引用

作者: dingjun123   发布时间: 2011-09-13

在 存储过程中也可以这么写?

作者: w252228767   发布时间: 2011-09-13

在 存储过程 中应该如何处理?

作者: w252228767   发布时间: 2011-09-13



QUOTE:原帖由 w252228767 于 2011-9-13 16:05 发表
在 存储过程中也可以这么写?

当然,你用工具define off,然后编译好,之后用没有问题

作者: dingjun123   发布时间: 2011-09-13

如果不用工具  在存储过程中有没有 办法 处理?

作者: w252228767   发布时间: 2011-09-13

存储过程可以用的啊,用工具编译先禁止&特殊符
dingjun123@ORADB> ed
已写入 file afiedt.buf

  1  create or replace procedure prc_tt as
  2  var varchar2(10);
  3  begin
  4  select replace('&lt;dsdsd','&lt;','<') into var from dual;
  5  dbms_output.put_line(var);
  6* end;
dingjun123@ORADB> /

过程已创建。

已用时间:  00: 00: 00.21
dingjun123@ORADB> set define on
dingjun123@ORADB> exec prc_tt;
<dsdsd

PL/SQL 过程已成功完成。

已用时间:  00: 00: 00.03

作者: dingjun123   发布时间: 2011-09-13