• oracle中的substr()函数


    SUBSTR(cExpression,nStartPosition [,nCharactersReturned])
    其中,cExpression指定要从其中返回字符串的字符表达式或备注字段;
    nStartPosition用于指定返回的字符串在字符表达式或备注字段中的位置,nCharactersReturned用于指定返回的字符数目,缺省时返回字符表达式的值结束前的全部字符。

     SUBSTR(char A,char B,int C, int D)

      这个函数主要用于字符串的运算,参数A是字符数组或是指向字符串的指针,用于接收字符串,参数B一般也为字符数组或指向字符串的指针,表示要截取字符串的地方,参数C表示从B中截取字符串的起始位置,参数D表示要截取字符串的长度,缺省时返回字符表达式的值结束前B的全部字符。
      上述表达式功能可描述为:从字符串B的第C个字符处开始,截取长度为D的一串字符串,放入字符串数组A中,返回截取的字符串。
      举例: ch X S[]="abcdefgh" 调用substr(X,S,4,2)后,得到的结果是:"ef"

    -- substr

    select substr('Hello World', 0, 1) as res from dual; -- H
    select substr('Hello World', 1, 1) as res from dual; -- H
    -- 0和1都是表示截取的开始位置为第一个字符
    select substr('Hello World', 2, 4) as res from dual; -- ello
    select substr('Hello World', 1, 7) as res from dual; -- Hello W
    -- 负数(-i)表示截取的开始位置为字符串右端向左数第i个字符
    select substr('Hello World', -3, 3) as res from dual; -- rld
    select substr('Hello World', -7, 3) as res from dual; -- o W
    --instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次
    --instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2
    select instr('Hello World','o',2,2) res from dual;--返回8:也就是说:在"Hello World"的第2号位置开始,查找第二次出现的o的位置
    select instr('Hello World','w',2,2) res from dual;--返回0:即如果查找不到,则返回0 (区分大小写的)
    select instr('Hello World','W') res from dual;--返回7
    select instr('Hello World','Wo') res from dual;--返回7:即"Wo"的W的位置
    select instr('Hello World','d',-1,2) res from dual;--返回0:
    --空格也是字符。。。。。
    select * from tablename t where t.field like '%abc%'
    select * from tablename t where instr(t.field, 'abc')>0--效果一样

    -- oracle 截取字段中空格前的字符

    SELECT SUBSTR('AHS1234 3232', 0, INSTR('AHS1234 3232',' ')-1) str FROM dual;

    以下摘自:https://www.cnblogs.com/wangkang0320/p/6743965.html

    字符串 "AAA-BBB" 截取"AAA"  "BBB"

    select substr('AAA-BBB',1,instr('AAA-BBB','-',-1)-1) 值 from dual;

    select substr('AAA-BBB',instr('AAA-BBB','-',-1)+1) 值 from dual;

     

  • 相关阅读:
    相关不是因果,哪又是啥?
    .NET Http请求
    .NET [MVC] 利用特性捕捉异常
    .NET WebAPI 利用特性捕捉异常
    .NET Core[MVC] 利用特性捕捉异常
    .NET Core 如何使用Session
    .NET CORE 使用Session报错:Session has not been configured for this application or request
    .NET Core Cache [MemoryCache]
    .NET CORE 设置cookie以及获取cookie
    webapi 控制json的字段(key)显示顺序
  • 原文地址:https://www.cnblogs.com/520future/p/7495110.html
Copyright © 2020-2023  润新知