oracle 字元串截取substr和instr

来源:https://www.cnblogs.com/fgbht/archive/2018/02/12/8444970.html
-Advertisement-
Play Games

位置是從1 開始 substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字元 substr("ABCDEFG", 1); //返回:ABCDEFG,截取所有字元 substr("ABCDEFG", -0); //返回:ABCDEFG,截取所有字元 -0=0,都是從左邊截 su ...


  1. SUBSTR(string,start_position,[length])    求子字元串,返回字元串
    解釋:string 元字元串
           start_position   開始位置(從0開始)
           length 可選項,子字元串的個數
    For example:

    位置是從開始
    substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字元 

    substr("ABCDEFG", 1); //返回:ABCDEFG,截取所有字元 

    substr("ABCDEFG", -0); //返回:ABCDEFG,截取所有字元  -0=0,都是從左邊截

    substr("ABCDEFG", -0,1); //返回:A,從左截1位

    substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始之後所有字元 

    substr("ABCDEFG", -2); //返回:FG,從右邊數第二位開始截取

    substr("ABCDEFG", -2,1); //返回:F,從右邊數第二位開始截取1位長度
    substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字元 
    substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預處理的字元串最長度,但不會影響返回結果,系統按預處理字元串最大數量返回。 
    substr("ABCDEFG", -3); //返回:EFG,註意參數-3,為負值時表示從尾部開始算起,字元串排列位置不變。

 

 

   2. INSTR(string,subString,position,ocurrence)查找字元串位置 從1開始
    解釋:string:源字元串
            subString:要查找的子字元串
         position:查找開始位置(從1開始) 不可以是0,會找不見,-是從右邊找

    比如:-2 從右邊第二位開始找,

    ocurrence:源字元串中第幾次出現的子字元串 不加這個參數預設是1

    substr("ABCDEFG", -2,1); //返回:F,從右邊數第二位開始截取1位長度

    select instr('ABCDEFGABCDEFG','B',2) from dual   返回2

    select instr('ABCDEFGABCDEFG','B',3) from dual   返回9

    select instr('ABCDEFGABCDEFG','B',-1) from dual   返回9

    select instr('ABCDEFGABCDEFG','B',-1,2) from dual 返回2

    select instr('ABCDEFGABCDEFG','B',1,2) from dual  返回9

 

 


      For example:   取A001HZJKQS   中間的001

substr('A001HZJKQS',2,instr('A001HZJKQS','HZJKQS',1)-2)

 

 參考貼:  https://www.cnblogs.com/cyblogs/p/5983612.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 支持:可指定絕對過期時間、滑動過期明間、文件依賴 三種緩存方式,目前已在公司各種生產業務項目中有使用。優點是可以根據數據的使用頻率設置緩存有效期,特別是文件依賴緩存,比如:連接字元串讀取一次後,若CONFIG文件沒有改變,則緩存永久有效,一旦CONFIG更改,則緩存失效需重新讀取,保證數據緩存的最大 ...
  • 一個業務功能往往不只由一次資料庫請求(或者服務調用)實現。為了功能的完整性,我們希望如果該功能執行一半時出錯,則撤銷前面已執行的改動。在資料庫層面上,事務管理實現了這種完整性需求。在ABP中,一個完整的業務功能稱為一個工作單元(Unit of Work,簡稱UoW)。工作單元代表一種完整的、原子性的 ...
  • 剪切 快捷鍵方式: ~~~~ dd:剪切游標所處當前行 n + dd:剪切游標所在行及以下共 n 行 按 p 粘貼在游標所在行 ~~~~ 命令行方式: ~~~~ 例如剪切1到10行,並粘貼在12行處: 1,10 m 12 ~~~~ 複製 快捷鍵方式: ~~~~ yy:複製游標所處當前行 n + yy ...
  • 因為手頭沒有安卓手機,無法調試模塊的AP模式,於是我使用了筆記本電腦——路由器——無線模塊的STA模式調試。 其中只測試了三種情況:TCP伺服器。TCP客戶端。UDP(我認為是UDP客戶端)。 1.需要修改MDK5的源代碼SSID和password (1)模塊做TCP伺服器 1.模塊的IP地址已經在 ...
  • 在編寫腳本的時候經常會遇到這種情況,某些程式的命令執行的之後可能會要求用戶進行輸入,這個時候就需要一些特殊寫法來應對這種問題了。這裡參考 "這篇文章" 提到可以使用 delimiter 分界符來解決。 也就是說在 Shell 將 delimiter 分界符之後的的所有內容都會當做輸入,直到遇到第二個 ...
  • Nagios Check_hp HP 2014年11月18日 下午 08:49 https://IP:2381 [root@nagios ~]# tar zxvf check_hp_bladechassis-1.0.1.tar.gz [root@nagios check_hp_bladechassi ...
  • 註意:修改完(visudo)之後,需要visudo -c檢查一下是否有錯誤。 sudo -l查看用戶擁有的許可權。 1、sudoers配置文件別名介紹 (1)Host Aliases(主機別名) 生產環境中一般不會設置主機別名,一般主機別名不太常用 配置服務 創建日誌保存目錄 [root@localh ...
  • 今天閑下來,試試曾經成功安裝過的Google-chrome的安裝 先加上幾個參考的鏈接: 一個是更改yum配置文件直接用yum install的,沒看他貼出安裝成功的照片,自己也試過,不行 http://www.linuxidc.com/Linux/2016-05/131538.htm 去掉vim ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...