每行显示固定字符串,截取字符串

方法一:在循环里面输出
DECLARE
  l_char          VARCHAR2 (3000 )
:= 'ORACLEEB电子商务套件SSYSTEMghtest' ;
  l_length        NUMBER ;
  l_line_char     VARCHAR2 (1000 ); --每一个字符
  l_lengthb       NUMBER ; --每一个字符的字节长度,汉字变成2个
  l_lengthb_total NUMBER := 0 ; --字节长度:汉字算2个
  l_char_display  VARCHAR2 (1000 ); --换行显示的字符
BEGIN
  l_length := length (l_char);
  dbms_output.put_line( 'l_length:' ||
l_length);
  FOR i IN 1 ..
l_length LOOP
    SELECT substr (l_char,
i, 1) INTO l_line_char FROM dual;
    --dbms_output.put_line('l_line_char:'||l_line_char);
    IF lengthb (l_line_char)
= 3 THEN
      --汉字
      l_lengthb := 2 ;
    ELSE
      l_lengthb := 1 ;
    END IF ;
    l_lengthb_total := l_lengthb_total + l_lengthb;
    l_char_display  := l_char_display || l_line_char;
    IF l_lengthb_total
= 12 THEN
      --l_char_display
:= l_char_display || CHR(10);
      --12位换行显示
      dbms_output.put_line( 'l_char_display:' ||
l_char_display);
      l_lengthb_total := 0 ;
      l_char_display  := NULL ;
    END IF ;
  END LOOP ;
  dbms_output.put_line( 'l_char_display:' ||
l_char_display);
END ;

输出:
l_char_display:ORACLEEB电子
l_char_display:商务套件SSYS
l_char_display:TEMghtest

二、使用回车符
DECLARE
  l_char          VARCHAR2 (3000 )
:= 'ORACLEEB电子商务套件SSYSTEMghtest' ;
  l_length        NUMBER ;
  l_line_char     VARCHAR2 (1000 ); --每一个字符
  l_lengthb       NUMBER ; --每一个字符的字节长度。汉字变成2个
  l_lengthb_total NUMBER := 0 ; --字节长度:汉字算2个
  l_char_display  VARCHAR2 (1000 ); --换行显示的字符
BEGIN
  l_length := length (l_char);
  FOR i IN 1 ..
l_length LOOP
    SELECT substr (l_char,
i, 1) INTO l_line_char FROM dual;
    --dbms_output.put_line('l_line_char:'||l_line_char);
    IF lengthb (l_line_char)
= 3 THEN
      --汉字
      l_lengthb := 2 ;
    ELSE
      l_lengthb := 1 ;
    END IF ;
    l_lengthb_total := l_lengthb_total + l_lengthb;
    l_char_display  := l_char_display || l_line_char;
    IF l_lengthb_total
= 12 THEN
      l_char_display := l_char_display || CHR (10 );
      --12位换行显示
      l_lengthb_total := 0 ;
    END IF ;
  END LOOP ;
  dbms_output.put_line( l_char_display);
END ;

输出:
ORACLEEB电子
商务套件SSYS
TEMghtest

ORACLE截取字符串的更多相关文章

  1. Oracle 截取字符串(截取固定分隔符中间的字符

    #### Oracle 截取字符串(截取固定分隔符中间的字符) #### ####  oracle 取固定分隔符之间的字符--方法一 substr+ instrSELECT  substr('12JP ...

  2. Oracle截取字符串函数和查找字符串函数,连接运算符||

    参考资料:Oracle截取字符串和查找字符串 oracle自定义函数学习和连接运算符(||) oracle 截取字符(substr),检索字符位置(instr) case when then else ...

  3. oracle截取字符串,定索引

    转载:https://www.cnblogs.com/qmfsun/p/4493918.html 使用Oracle中Instr()和substr()函数: 1 2 3 4 5 6 7 8 9 10 1 ...

  4. Oracle截取字符串和查找字符串

    oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr 1.SUBSTR(string,s ...

  5. oracle截取字符串区间段的一部分字符串

    Oracle SQL中实现indexOf和lastIndexOf功能,substr和instr用法 博客分类: oracle PL/SQL instrsubstrlastindexofindexofo ...

  6. oracle截取字符串去掉字段末尾指定长度的字符

    lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 eg: //去掉该 ...

  7. [转]Oracle截取字符串相关函数

    转至:http://www.cnblogs.com/qmfsun/p/4493918.html 1.instr(sourceString,destString,start,appearPosition ...

  8. Oracle 截取字符串

    如下有一个创建函数的代码,是将一穿字符串按照逗号‘,’分割成若干段 create or replace function SplitStringByComma(aName in varchar2) r ...

  9. oracle正则截取字符串的函数

    现在有这么一个需求, 数据库中的一个手输的'籍贯'字段,要按一定的规范截取显示在报表上,比如,如果'籍贯'的内容是:'山东省潍坊市昌乐县', 那么报表里要显示为:'山东昌乐', 如果'籍贯'是山东省潍 ...

随机推荐

  1. 非常好!!!Linux源代码阅读——环境准备【转】

    Linux源代码阅读——环境准备 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/0_prepare.html 目录 Linux 系统环境准备 ...

  2. 菜单栏选中时CSS3过渡效果

    (如有错敬请指点,以下是我工作中遇到并且解决的问题) 效果图: 未点击时: 点击后: HTML代码: <ul> <li class="active">菜单1 ...

  3. RobotFramework自动化2-自定义关键字【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定 ...

  4. 制作servlet模板

    制作servlet模板 选中window-->preference--->搜索template--->选中java下面的template new一个 Name的设置,当你在eclip ...

  5. ARC 098 C - Attention

    Problem Statement There are N people standing in a row from west to east. Each person is facing east ...

  6. springboot + 拦截器 + 注解 实现自定义权限验证

    springboot + 拦截器 + 注解 实现自定义权限验证最近用到一种前端模板技术:jtwig,在权限控制上没有用springSecurity.因此用拦截器和注解结合实现了权限控制. 1.1 定义 ...

  7. Oracle触发器简单入门记录

    写在前面: 最近,老项目新增了日报优化的需求,丽姐让我用触发器去实现当数据插入或者更新的时候,实现对日报表数据更新操作.嗯嗯嗯呢,之前学习数据库的时候,有碰到过触发器,但都是一跳而过,也没怎么去真正的 ...

  8. Java多线程设计模式(4)线程池模式

    前序: Thread-Per-Message Pattern,是一种对于每个命令或请求,都分配一个线程,由这个线程执行工作.它将“委托消息的一端”和“执行消息的一端”用两个不同的线程来实现.该线程模式 ...

  9. 如何隐藏 video 元素的下载按钮

    1. 使用 video 元素的 ControlList API <video controls controlsList="nodownload"></video ...

  10. Mycat查询时出现:Error Code: 1064. can't find any valid datanode

    说明:这个错误是查询时条件字段超过了范围导致的. 解释: 为什么会出现范围问题? 一般在MySQL查询时不会因为字段的值超过了范围而导致的,但是在Mycat中却不是这样认为的,Mycat是由于采用的分 ...