Oracle(PL /)SQL中的字符串格式化

12

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

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

在Oracle SQL或PL/SQL中,是否有与此类似的功能?或者这里的最佳实践是什么?


同样的问题,但是针对JavaScript:https://dev59.com/questions/YXRB5IYBdhLWcg3weXOX - tjati
1个回答

25

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. 它仅在PL/SQL块内有效,而不适用于SQL。
  2. 即使被替换的特殊字符相同,你也应该为每个被替换的特殊字符提供替代值(%s表示字符串,%d表示数字)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接