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

时间:2011-07-10 00:09:35

标签: string oracle function

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

1 个答案:

答案 0 :(得分:7)

通常,您可以在函数调用中嵌套函数调用,在最里面评估最外层:

SELECT INITCAP(TRIM(column)) FROM your_table;

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

例如:

SELECT '|' || INITCAP(TRIM('  abc def ghi  jklmn   ')) || '|' str
  FROM dual;

结果:

STR
--------------------
|Abc Def Ghi  Jklmn|

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

更重要的是:

SELECT '|' || INITCAP(TRIM('.' FROM '... abc def ghi  jklmn...')) || '|' str FROM dual;

给我:

STR
----------------------
| Abc Def Ghi  Jklmn|