Oracle(PL /)SQL

时间:2015-06-21 12:47:16

标签: oracle plsql

现代编程语言允许开发人员使用占位符创建字符串,并使用通常称为format的函数/方法替换正确的值。有时,它看起来像这样:

"Hi {0}! How are you?".format('John');

Oracle SQL或PL / SQL中是否有任何具有相同行为的功能?或者这里的最佳做法是什么?

1 个答案:

答案 0 :(得分:14)

utl_lms包,特别是该包的format_message()过程可用于格式化字符串。

begin
  dbms_output.put_line(utl_lms.format_message('Hi %s! How are you %s?.'
                                             , 'John'
                                             , 'John'
                                             )
                       );
end;

结果:

Hi John! How are you John?.

应该注意:

  1. 它仅适用于PLS / SQL块,而不适用于SQL。
  2. 您应该为每个替换的特殊字符提供替换值(%s表示字符串,%d表示数字),即使它们是相同的。