Oracle通过SQL语句去掉表名中的下划线且第一个字母都大写(驼峰显示)

时间:2021-09-06 17:00:08

问题描述:

通过SQL语句将表名中下划线去掉,去掉下划线后的第一个字母全都大写,类似于Java的函数驼峰命名。如fin_rc_order,通过SQL语句转化后的名称是FinRcOrder。          查询方式:
select REGEXP_REPLACE(INITCAP('fin_rc_order'), '(\w)[_]', '\1')  from dual;

查询结果:  Oracle通过SQL语句去掉表名中的下划线且第一个字母都大写(驼峰显示)
查询结果分析:  语句中用到了INITCAP函数和REGEXP_REPLACE函数。
1 函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回.
2,REGEXP_REPLACE 函数和REPLACE 函数类似,但在几个方面扩展了REPLACE 函数的功能。它支持在搜索模式中使用正则表达式,也支持本章前面描述的变量,即position、occurrence 和match_parameter,从而可以选择只替代某些匹配的值,或者不区分大小写。REGEXP_REPLACE 函数的语法如下所示:
REGEXP_REPLACE( source_string, pattern  
[, replace_string
[, position
[, occurrence
[, match_parameter ]
]
]
]
)
  
说明:

第一个是输入的字符串

第二个是正则表达式

第三个是替换的字符

第四个是标识从第几个字符开始正则表达式匹配。(默认为1

第五个是标识第几个匹配组。(默认为全部都替换掉)

第六个是是取值范围:

i:大小写不敏感;

c:大小写敏感;

n:点号 . 不匹配换行符号;

m:多行模式;

x:扩展模式,忽略正则表达式中的空白字符。