• Sql中的left函数、right函数


    DB2中left()函数和right()函数对应oracle中的substr()函数

     DB2 LEFT、RIGHT函数 


    语法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH) 

    LEFT、RIGHT函数返回ARG最左边、右边的LENGTH个字符串,ARG可以是CHAR或BINARY STRING。 
    eg:
    SELECT LEFT(NAME,2),RIGHT(NAME,2) FROM T1

     

    ORACLE substr()函数

    substr(字符串,截取开始位置,截取长度) //返回截取的字

    substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串

    substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符

    substr('Hello World',2,4) //返回结果为 'ello'

    substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

    Oracle数据库中是没有left() 和right() 函数的,若想按照DB2中对应的函数去使用,自己新建两个function即可,方法如下

    LEFT

    CREATE OR REPLACE FUNCTION "LEFT" (str in varchar2,sublen in integer) return varchar2 is
      strlen integer;
    begin
    
      strlen := length(str);
    
      if sublen<=0 then
          return '';
      elsif strlen<=sublen then
           return str;
       else
         return SUBSTR(str,0,sublen);
      end if;
     return '';
    end LEFT;

    RIGHT

    CREATE OR REPLACE FUNCTION "RIGHT" (str in varchar2,sublen in integer) return varchar2 is
      strlen integer;
    begin
    
      strlen := length(str);
    
      if sublen<=0 then
          return '';
      elsif strlen<=sublen then
           return str;
       else
         return SUBSTR(str,strlen-sublen+1,sublen);
      end if;
     return '';
    end RIGHT;

    使用

    select left('abcdefg',3) from dual  ; 

  • 相关阅读:
    AcWing 286. 选课
    背包问题极小值空间至少是j
    Logo在线公式编辑转图片
    AcWing 1055. 股票买卖 II
    枚举一个集合的所有有效子集
    CF580D Kefa and Dishes [洛谷]
    AcWing 1282. 搜索关键词
    背包问题最大值空间恰好是j
    多叉树转二叉树有依赖的背包问题解法
    Thinkpad T14重装Win10后不见无线网络问题的解决
  • 原文地址:https://www.cnblogs.com/luxd/p/5976744.html
Copyright © 2020-2023  润新知