反转字符串的一部分

时间:2015-10-14 11:58:26

标签: sql oracle

通过使用SQL函数'reverse',我们是否在不改变剩余字符的情况下反转字符串中的特定部分.. [即praCTIce to praITCce];

感谢您的回复;

2 个答案:

答案 0 :(得分:0)

您可以使用SUBSTRING或REGEXP类功能增强REVERSE功能。单个REVERSE只是反转整个字符串。

答案 1 :(得分:0)

您的问题很不清楚,但假设您想要反转前3个字符长的大写字符串出现,以便您可以使用:

<强> 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一个带有反向子串的子串。

警告

请记住,提供的解决方案并非一般,只是演示/线索如何解决问题。