zoukankan      html  css  js  c++  java
  • Oracle 常用函数(instr,substr,add_months)

    在Oracle中 

    可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。 

    在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。 

    语法: 
    instr(sourceString,destString,start,appearPosition) 

    instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 

    其中sourceString代表源字符串; 

    destString代表要从源字符串中查找的子串; 

    start代表查找的开始位置,这个参数可选的,默认为1; 

    appearPosition代表想从源字符中查找出第几次出现的destString,这个参数也是可选的, 默认为1 

    如果start的值为负数,则代表从右往左进行查找,但是位置数据仍然从左向右计算。 

    返回值为:查找到的字符串的位置。 

    ------------------------------------------------------------- 

    对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如: 

    SQL> select instr('abcdefgh','de') position from dual; 


    POSITION 
    ---------- 
       4 
    从1开始算 d排第四所以返回4 

    SQL>select instr('abcdefghbc','bc',3) position from dual; 

    POSITION 
    ---------- 
      9 
    从第3个字符开始算起 第3个字符是c,所以从3开始以后的字符串找查找bc,返回9 

    --------------------------- 
    从第1个字符开始,查找第2次出现子串的位置 
    SQL> select instr('qinyinglianqin','qin', 1, 2) position from dual; 
    POSITION 
    ---------- 
      12 

    ---------------------------------------------------------------------- 

    SUBSTR()函数   
    1.用处:是从给定的字符表达式或备注字段中返回一个子字符串。    

    2.语法格式:SUBSTR(cExpression,nStartPosition [,nCharactersReturned])    

    其中,cExpression指定要从其中返回字符串的字符表达式或备注字段; 

    nStartPosition用于指定返回的字符串在字符表达式或备注字段中的位置, 

    nCharactersReturned用于指定返回的字符数目,缺省时返回字符表达式的值结束前的全部字符。   

    3.举例:STORE'abcdefghijlkm' To mystring    

    SUBSTR(mystring ,2,5) 显示 "bcdef"  1 从第一个字符开始 截取的字符中,包括第一个字符,5表示截取5个字符

    SUBSTR(mystring ,6) 显示 "fghijklm"    

    SUBSTR(mystring,-2)显示“km”   最右边一个字符是-1,最右边左边的字符是-2,然后默认是从左向有取剩下的全部的字符 

    SUBSTR(mystrng,-4)显示“jlkm” 

    add_months函数

    使用oracle add_months函数,就可以以得到某一时间之前或之后n个月的时间,

    如 select add_months(sysdate,-6) from dual; 该查询的结果是当前时间半年前的时间

    select add_months(sysdate,6) from dual; 该查询的结果是当前时间半年后的时间
     
    WHERE 1=1 AND add_months(create_time,3) > SYSDATE;//create_time+3 与 系统当前时间 比较 大于则条件成立。
  • 相关阅读:
    HDU 1874 畅通工程续(dijkstra)
    HDU 2112 HDU Today (map函数,dijkstra最短路径)
    HDU 2680 Choose the best route(dijkstra)
    HDU 2066 一个人的旅行(最短路径,dijkstra)
    关于测评机,编译器,我有些话想说
    测评机的优化问题 时间控制
    CF Round410 D. Mike and distribution
    数字三角形2 (取模)
    CF Round410 C. Mike and gcd problem
    CF Round 423 D. High Load 星图(最优最简构建)
  • 原文地址:https://www.cnblogs.com/flord/p/5710198.html
Copyright © 2011-2022 走看看