HANA數據庫字符串截取


在做SAP MES業務的時候,遇到了如下問題:

  HANA數據庫如何截取傳進來的字符串?比如,對於“C515,GT-ShiWanGerWeiShenMer,A”,第一個逗號前的字符串"C515"是站點,“GT-ShiWanGerWeiShenMer”是流水號,"A"是版本號,現在數據庫需要保存該字符串的流水號,怎么截取呢?

  先來看一個例子:

  SELECT SUBSTRING_REGEXPR('[^|]+' IN '1111|2222|3333|44|555' FROM 1 OCCURRENCE 4) from dummy;

  這一段SQL語句就是HANA截取字符串的方法,使用了正則表達式。解釋下,這個正則表達式的含義就是 用數組[ ]獲取,以字符串中的|字符作為截取標准截取1111|2222|3333|44|555“”,從第1個開始的第4個,就是我們要截取的字符串,結果為“44”。(注意from后面的數據庫表)

  對於上面的問題,截取“C515,GT-ShiWanGerWeiShenMer,A”中的流水號,SQL語句就是:

  SELECT SUBSTRING_REGEXPR('[^,]+' IN 'C515,GT-ShiWanGerWeiShenMer,A' FROM 1 OCCURRENCE 2) from dummy;

  以逗號","作為截取標准,獲取第2個字段,結果為"GT-ShiWanGerWeiShenMer",就是我們需要的流水號。(注意from后面的數據庫表)

 

 

 

 

 

 

 

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM