PL / SQL字符串转换:自动更改字符串

时间:2014-03-06 14:51:04

标签: string plsql transform varchar sql-function

是否可以在PL / SQL中转换字符串? 在我的情况下,我有VARCHARs像“COR_DIM_table1”,我想得到“COR_DIM_TAB_table1”。 有没有自动化这样的事情,如:

  1. 在“cor_dim _”
  2. 之后获取位置
  3. 插入“tab _”

1 个答案:

答案 0 :(得分:0)

您可以使用许多功能。

REPLACE将替换一个字符串,INSTR(以及它的几个变体)可以找到搜索字符串,你可以用SUBSTR分解字符串,附加部分

select REPLACE('COR_DIM_table1','table1','tab_table1') from dual;

REPLACE('COR_DIM_TABLE1','TABL
---------------------------------

COR_DIM_tab_table1

SUBSTR(string,start_position,[length])

INSTR(string,substring [,start_position [,nth_appearance]])

select substr('COR_DIM_table1',1,length('COR_DIM_')) || 'tab' || substr('CO
R_DIM_table1',length('COR_DIM_')) from dual;

SUBSTR('COR_DIM_TABLE1',1,LENG
--------------------------------------------------------------------------------

COR_DIM_tab_table1

如果您的命名约定更复杂,还有相应的REGEX_REPL,REGEX_INSTR和REGEX_SUBSTR。