我们如何使用TRIM从Oracle中的给定输入获取值?

时间:2013-09-06 06:33:55

标签: oracle oracle10g

'你的UTR SBINH13246802674 RTN'这是输入。我想从上面的输入中只获取'SBINH13246802674'。此值将插入另一列,这就是我获取该特定值的原因。条件是仅使用Oracle TRIM功能。是否可以使用TRIM获取该值?

2 个答案:

答案 0 :(得分:0)

您可以使用以下选择查询:

SELECT TRIM(' ' FROM TRIM(TRAILING 'R' FROM TRIM(TRAILING 'T' FROM TRIM(TRAILING 'N' FROM TRIM('R' FROM TRIM('T' FROM TRIM('U' FROM 
       TRIM(' ' FROM TRIM('R' FROM TRIM('U' FROM TRIM('O' FROM TRIM('Y' FROM 'YOUR UTR SBINH13246802674 RTN')))))))))))) DATA
FROM   DUAL;

此方法使用重复的TRIM来取出不需要的字符串,一次一个字符。

然而,更好的方法是:

SELECT REPLACE(REPLACE('YOUR UTR SBINH13246802674 RTN', 'YOUR UTR '), ' RTN')
FROM   DUAL;

答案 1 :(得分:0)

如果您只想使用trim,请使用以下内容。

select rtrim(ltrim('YOUR UTR SBINH13246802674 RTN', 'YOUR UTR '), 'RTN') from dual;

如果您需要处理任何功能,请考虑您拥有相同格式和长度的所有数据“YOUR UTR {DATA}”

select substr('YOUR UTR SBINH13246802674 RTN' , 10, 16) from dual;