2015-10-14 91 views
1

通過使用SQL函數'reverse',我們是否可以在不改變剩餘字符的情況下反轉字符串中的特定部分。[即praCtice to praITCce];字符串反轉部分

謝謝你的回覆;

+2

'reverse()'反轉整個字符串。如果您想要反轉部分字符串,請提供樣本數據和所需結果。 –

回答

0

你的問題很清楚,但認爲要扭轉前3個字符長的大寫字符串occurence所以你可以使用:

SqlFiddleDemo

WITH cte AS 
(
    SELECT 'praCTIce' AS col FROM dual 
) 
SELECT 
    col AS original, 
    REPLACE(col, 
      REGEXP_SUBSTR(col, '[A-Z]{3}'), 
      REVERSE(REGEXP_SUBSTR(col, '[A-Z]{3}'))) AS result 
FROM cte; 

你只需要REPLACE一個子帶顛倒的子串。

警告

請記住,所提供的解決方案是不一般,它只是演示/線索如何解決問題。

0

您可以使用SUBSTRING或REGEXP類函數來增強REVERSE函數。單個REVERSE只是反轉整個字符串。