sql - PL/SQL 是否具有与 Java 等效的 StringTokenizer?

标签 sql oracle plsql tokenize stringtokenizer

我使用 java.util.StringTokenizer 来简单解析 java 中的分隔字符串。我需要在 pl/sql 中使用相同类型的机制。我可以写它,但如果它已经存在,我更愿意使用它。有人知道 pl/sql 实现吗?一些有用的替代品?

最佳答案

PL/SQL 确实包括一个基本的逗号分隔列表 ( DBMS_UTILITY.COMMA_TO_TABLE )。

例子:

DECLARE
   lv_tab_length   BINARY_INTEGER;
   lt_array   DBMS_UTILITY.lname_array;
BEGIN
   DBMS_UTILITY.COMMA_TO_TABLE( list => 'one,two,three,four'
                              , tablen => lv_tab_length
                              , tab => lt_array
                              );

   DBMS_OUTPUT.PUT_LINE( 'lv_tab_length = ['||lv_tab_length||']' );

   FOR i IN 1..lv_tab_length
   LOOP
      DBMS_OUTPUT.PUT_LINE( '['||lt_array( i )||']' );
   END LOOP;

END;
/

或查看此 Ask Tom 链接以了解其他想法...

Ak Tom - "varying elements in IN list"

关于sql - PL/SQL 是否具有与 Java 等效的 StringTokenizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520733/

相关文章:

mysql - 当您将两个具有相同属性名称的表相乘时会发生什么?

java - Hibernate 不创建 Java 类。我能做些什么?

Oracle 从类型为 number 的数组中获取不同的值

oracle - 删除全局临时表

python - cx_Oracle.DatabaseError : ORA-00922: missing or invalid option when trying to execute pl/sql using python

SQL:ORDER BY 两列混合,不基于优先级

mysql - 对州进行分组并计算每个州的邮政编码数量

oracle - PL/SQL 数据库部署脚本

java - java中通过JDBC实现数据库独立性

java - 无法找到或加载 oracle.jdbc.driver.OracleDriver