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

方法一:在循环里面输出
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. CodeSmith Professional 5与VS2010有冲突

    最近VS2010莫名其妙无法正常使用了,新建工程和打开工程就提示“Microsoft Visual Studio发生问题需要关闭”的错误提示,然后就是重新启动VS2010,最后经过分析和查证,确定是某 ...

  2. jQuery简单操作HTML的DOM

    #转载请留言联系 如果需要了解什么是HTML的dom,可以参考:http://www.w3school.com.cn/htmldom/index.asp 下面的是jQuery操作DOM,并不是Java ...

  3. 第一章:1-20、试计算以下两种情况的发送时延和传播时延: (1) 数据长度为107bit,数据发送速率为100kbit/s,传播距离为1000km,信号在媒体上 的传播速率为2×108m/s。 (2) 数据长度为103bit,数据发送速率为1Gbit/s,传输距离和信号在媒体上的传播速率同 上。

    <计算机网络>谢希仁著第四版课后习题答案答: 1):发送延迟=107/(100×1000)=100s         传播延迟=1000×1000/(2×108)=5×10-3s=5ms ...

  4. 学习SPRING BOOT, SPRING CLOUD之Eureka和security

    有意思,明天去杨浦报名了一个SPRING CLOUD沙龙, 今天再抓紧看看哈哈哈. Eureka服务端: EurekaApplication.java package com.packtpub.Eur ...

  5. [BZOJ1295][SCOI2009]最长距离 最短路+枚举

    1295: [SCOI2009]最长距离 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1683  Solved: 912[Submit][Statu ...

  6. [BZOJ1044][HAOI2008]木棍分割 二分+贪心+dp+前缀和优化

    1044: [HAOI2008]木棍分割 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4112  Solved: 1577 [Submit][St ...

  7. HDU 1863 畅通工程 最小生成树

    思路: 比较典型的最小生成树的题目了..在这里用求最小生成树的经典算法K(Kruskal)算法和P(Prim)算法.我的 K 算法用的是结构体来存图,P 算法用的是邻接矩阵来存图,K算法的复杂度是O( ...

  8. Winform打砖块游戏制作step by step第7节---碰撞检测

    一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 预备知识,无GDI画图基础的童鞋请先阅读一篇文章让你彻底弄懂WinFor ...

  9. C语言中<CR>是什么意思

    在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS ...

  10. IOS设置UIView的边框为圆角

    iOS 系统自带的 View 组件都是正方形的,看起来都太生硬,有时候我需要变成圆角形式,如下图:    具体的实现是使用QuartzCore库,下面我具体的描述一下实现过程:    •    首先 ...