巷尾的酒吧

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            64 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(1)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          oracle 截取字符(substr),檢索字符位置(instr) case when then else end語句使用 收藏
          常用函數:substr和instr
          1.SUBSTR(string,start_position,[length])    求子字符串,返回字符串
          解釋:string 元字符串
                 start_position   開始位置(從0開始)
                 length 可選項,子字符串的個數
          For example:
          substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
          substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始之后所有字符
          substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字符
          substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預處理的字符串最長度,但不會影響返回結果,系統按預處理字符串最大數量返回。
          substr("ABCDEFG", 0, -3); //返回:EFG,注意參數-3,為負值時表示從尾部開始算起,字符串排列位置不變。

          2.INSTR(string,subString,position,ocurrence)查找字符串位置
          解釋:string:源字符串
                subString:要查找的子字符串
                position:查找的開始位置
                ocurrence:源字符串中第幾次出現的子字符串
          For example:
          INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串為'CORPORATE FLOOR', 目標字符串為'OR',起始位置為3,取第2個匹配項的位置;返回結果為 14 '




          oracle中length()與lengthb()區別

          oracle中length()與lengthb()區別

           

          OracleSQL.oracle中length()與lengthb()區別
          SQL> select length('阿豬') from dual;
          LENGTH('阿豬')
          --------------
                       2

          SQL> select lengthb('阿豬') from dual;

          LENGTHB('阿豬')
          ---------------
                        4


          區別:length求得是字符長度,lengthb求得是字節長度。

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

          SQL> select sysdate from dual;

          SYSDATE
          --------------
          26-9月 -05

          SQL> select length(sysdate) from dual;

          LENGTH(SYSDATE)
          ---------------
                        9

          SQL> select lengthb(sysdate) from dual;

          LENGTHB(SYSDATE)
          ----------------
                        10

          length返回的是字符數
          lengthb返回的是字節數
          漢字“月”在length時,返回的時1
          而在lengthb時返回的時2

           

           length指的是字符個數,lengthb指的是字節數。字符個數跟數據庫字符集有很大關系。length和lengthb的參數都為varchar2型,因此length(sysdate)有一個隱式的類型轉換,實際上等同于length(to_char(sysdate)),ORACLE安裝好后默認的NLS_DATE_FORMAT參數值為DD-MON-RR,結果就相當于length('28-9月 -05')和
          lengthb('28-9月 -05')了,其結果就是9和10

          posted on 2012-10-25 13:53 abing 閱讀(792) 評論(1)  編輯  收藏 所屬分類: oracle

          Feedback

          # re: Oracle截取字符串和查找字符串 2013-07-26 14:12 lum
          簡單易懂,非常不錯!  回復  更多評論
            

          主站蜘蛛池模板: 柘荣县| 泸西县| 安丘市| 北京市| 宁城县| 元氏县| 上犹县| 东安县| 宁陕县| 合作市| 寿阳县| 青田县| 连平县| 剑河县| 乌鲁木齐县| 武平县| 镇江市| 航空| 青铜峡市| 普陀区| 达尔| 高台县| 随州市| 承德市| 四川省| 安阳县| 广灵县| 重庆市| 襄樊市| 邢台市| 洪江市| 永寿县| 含山县| 景宁| 应城市| 珠海市| 高雄县| 吕梁市| 乌兰察布市| 即墨市| 寿光市|