在Oracle中,如何在同一列上使用两个不同的函数?

Chr*_*her 1 string oracle function

我试图在一列上使用两个不同的字符串函数(initcap和trim),我希望它只显示应用了两个函数的一列.一般来说,如何在一列上使用两个或多个函数?

DCo*_*kie 7

通常,您可以在函数调用中嵌套函数调用,从最里面到最外层进行求值:

SELECT INITCAP(TRIM(column)) FROM your_table;
Run Code Online (Sandbox Code Playgroud)

只要每个嵌套函数返回兼容类型的值,您就应该能够将其应用于任何函数.

例如:

SELECT '|' || INITCAP(TRIM('  abc def ghi  jklmn   ')) || '|' str
  FROM dual;
Run Code Online (Sandbox Code Playgroud)

结果是:

STR
--------------------
|Abc Def Ghi  Jklmn|
Run Code Online (Sandbox Code Playgroud)

注意我连接管道符号以说明字符串的TRIM.

更重要的是:

SELECT '|' || INITCAP(TRIM('.' FROM '... abc def ghi  jklmn...')) || '|' str FROM dual;
Run Code Online (Sandbox Code Playgroud)

给我:

STR
----------------------
| Abc Def Ghi  Jklmn|
Run Code Online (Sandbox Code Playgroud)