问题描述:
通过SQL语句将表名中下划线去掉,去掉下划线后的第一个字母全都大写,类似于Java的函数驼峰命名。如名fin_rc_order,通过SQL语句转化后的名称是FinRcOrder。 查询方式:select REGEXP_REPLACE(INITCAP('fin_rc_order'), '(\w)[_]', '\1') from dual;
查询结果:
查询结果分析: 语句中用到了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:扩展模式,忽略正则表达式中的空白字符。