在PL/SQL中如何实现.NET的String.Format功能
2011-08-09 11:15
501 查看
create or replace type type_string_split_tab as table of varchar2(4000);
FUNCTION fun_split (p_string IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN type_string_split_tab IS -- int_j INT := 0; int_i INT := 1; int_string_length INT := 0; int_delimiter_length INT := 0; -- -- v_string VARCHAR2 (4000); v_string_split type_string_split_tab; BEGIN v_string_split := type_string_split_tab (); int_string_length := LENGTH (p_string); int_delimiter_length := LENGTH (p_delimiter); WHILE int_j < int_string_length LOOP int_j := INSTR (p_string, p_delimiter, int_i); IF int_j = 0 THEN int_j := int_string_length; v_string := SUBSTR (p_string, int_i); v_string_split.EXTEND; v_string_split (v_string_split.COUNT) := v_string; IF int_i >= int_string_length THEN EXIT; END IF; ELSE v_string := SUBSTR (p_string, int_i, int_j - int_i); int_i := int_j + int_delimiter_length; v_string_split.EXTEND; v_string_split (v_string_split.COUNT) := v_string; END IF; END LOOP; RETURN v_string_split; END;
FUNCTION fun_string_format (p_stringformat IN VARCHAR2, p_stringvalue IN VARCHAR2) RETURN VARCHAR2 IS int_i INT := 0; int_totalvalue INT := 0; v_stringvalue_split type_string_split_tab; v_repalcestring VARCHAR2 (1000); BEGIN v_stringvalue_split := fun_split (p_stringvalue, ','); int_totalvalue := v_stringvalue_split.COUNT; v_repalcestring := p_stringformat; FOR i IN 0 .. int_totalvalue - 1 LOOP v_repalcestring := REPLACE (v_repalcestring, '{' || TO_CHAR (i) || '}', v_stringvalue_split (i + 1)); END LOOP; RETURN v_repalcestring; END;
测试:
select FUN_STRING_FORMAT('{0}天气如何呢?','今天') from dual
结果显示:
相关文章推荐
- c++中如何用string实现CString格式化的功能
- C#中如何实现JAVA中的String.replaceAll()方法功能
- 如何用Java实现.NET中DataTable功能
- Oracle PL/SQL编程之如何实现程序来统计另一个程序的性能
- [C/C++标准库]_[初级]_[如何实现std::string自己的Format(sprintf)函数]
- .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速实现应用间的分享功能
- 在PL/SQL中如何分割字符串(Split String)
- [C/C++标准库]_[初级]_[如何实现std::string自己的Format(sprintf)函数]
- PL/SQL中使用EXISTS:使用LOOP循环替代或者SELECT实现类似的功能:
- 如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能,就象浏览网页一样?
- sql server中如何实现split功能
- Oracle 9 中PL/SQL实现FTP功能的文件传输
- !!! STL的string类如何实现CString的Format功能 这是一个经典问题,记住
- 2。如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能
- 通过oracle,是同pl/sql实现发送mail功能。
- 如何在T-sql 中实现数组的功能
- 如何在T-sql 中实现数组的功能
- javascript 中实现 .net的format功能
- .Net语言 APP开发平台——Smobiler学习日志:如何快速实现按钮组功能
- .net如何实现文件下载功能