如何在Oracle中TRIM只返回字符串中的大写字母

时间:2015-06-17 12:16:48

标签: sql oracle

我在表格中有一个字符串xyzApqr

我想修剪字符串,只输出A.

左右修剪值对于不同的行是不同的。在这种情况下如何应用修剪功能,或者还有其他方法可以做到。

' A'表示需要从列中提取的任何字符集。

3 个答案:

答案 0 :(得分:2)

我会用:

select regexp_replace(
         column_name,
         '^xyz(.*)pqr$',
         '\1')
from employees;

答案 1 :(得分:0)

答案

SELECT SUBSTR(COLUMN_NAME, INSTR(COLUMN_NAME, 'xyz')+2, INSTR(COLUMN_NAME, 'pqr')-3) AS OUTPUT FROM  TABLE

答案 2 :(得分:-1)

假设您只想选择大写字母。

您可以结合使用git checkout hotfix git merge master LTRIMRTRIMTRANSLATEUPPER& RPAD

LENGTH

输入:

SELECT name, LTRIM(RTRIM(TRANSLATE(name,LTRIM(RTRIM(TRANSLATE(name,UPPER(name),RPAD(' ',LENGTH(UPPER(name)))))) ,RPAD(' ',LENGTH(UPPER(name)))))) AS "Diff"
FROM yourtable

输出:

name
xyzApqr

SQL小提琴:http://sqlfiddle.com/#!4/262f92/2/0