热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

OracleDatabase10gPL/SQLProgramming-名词所有格处理

OracleDatabase10gPLSQLProgramming-名词所有格处理

Oracle Database 10g PL/SQL Programming -名词所有格处理

这里,我们谈谈Oracle10g中对名词所有格的处理。

下面的字符串就在其中的一个词中包含名词所有格。

begin
dbms_output.put_line('1 ' ||'nimeng's dog');
end;

执行错误:ORA-01756:括号内的字符串没有正确结束

出现这个错误的原因是对名词所有格的处理上有所不当,不清楚字符串到底是在哪里结束。对于oracle的所有版本,都可以在所有格的位置上使用两个单引号来避免这个问题。

示例如下:

begin
dbms_output.put_line('1 ' ||'nimeng''s dog');
end;
为了让人们使用名词所有格时便于处理单引号和双引号的问题,,Oracle10g抓吗引入了新语法,q'[]',其中的中括弧代表用户自定义的分隔符。下面示例列举了处理名词所有格的几种不同方法:

begin
dbms_output.put_line('1 ' ||'nimeng''s dog');
dbms_output.put_line('2 ' ||q'[nimeng's dog]');
dbms_output.put_line('3 ' ||q'!nimeng's dog!');
dbms_output.put_line('4 ' ||q'');
dbms_output.put_line('5 ' ||q'%nimeng's dog%');
end;

更多Oracle相关信息见Oracle 专题页面 ?tid=12


推荐阅读
author-avatar
前方体育538
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有