zoukankan      html  css  js  c++  java
  • Oracle 截取指定长度的字符

    去掉回车,换行符号,截取指定长度的字符

    具体代码示例:

     1 --Function
     2 --去掉前后空格,截取字符,字符长度为P_Length
     3 create or replace function get_StringLen
     4 (
     5   P_Name IN VARCHAR2,
     6   P_Length IN int
     7 ) return varchar2 is
     8   v_Temp varchar2(1000):='';
     9   v_Name varchar2(1000):='';
    10   v_Len int:=0;
    11   i int:=1;
    12   k int:=0;
    13 begin
    14   --去掉回车,换行符号
    15   select trim(translate(P_Name,chr(13)||chr(10),',')) into v_Name from dual; 
    16   
    17   --取字串的长度
    18   select length(v_Name) into v_Len from dual; 
    19   
    20   --循环来取
    21   for i in reverse 1..v_Len 
    22   loop
    23     if (lengthb(substr(v_Name,-i,1))<>length(substr(v_Name,-i,1))) then
    24       k:=k+2;
    25     else
    26       k:=k+1;
    27     end if;
    28     if k<=P_Length then
    29       v_Temp:=v_Temp || substr(v_Name,-i,1);
    30     end if;
    31     if k>=P_Length then
    32       CONTINUE;
    33     end if;
    34   end loop;
    35     
    36   return(v_Temp);
    37   
    38 end get_StringLen;
    39 
    40 --Test
    41 select get_StringLen('asdf',5) from dual;--返回结果:'asdf'
    42 select get_StringLen('asd中国',5) from dual;--返回结果:'asd中'
    43 select get_StringLen('asdfasdf',5) from dual;--返回结果:'asdfa'
  • 相关阅读:
    C# 自定义文件图标 双击启动 (修改注册表)
    C/S打包 客户端/windows程序 InstallShield
    WPF 依赖属性
    WPF 自定义Expander
    WPF DevExpress ChartControl用法
    WPF 水平进度条
    WPF 自定义CheckBox
    WPF 自定义ListBox
    WPF 绕圈进度条(一)
    1.为什么要用泛型
  • 原文地址:https://www.cnblogs.com/AnneHan/p/4749690.html
Copyright © 2011-2022 走看看