oracle split函数用法 oracle传过来的参数既有逗号也有单引号怎么分割?
oracle传过来的参数既有逗号也有单引号怎么分割?
你说的是把字符串按照指定的字符进行分割成几个字符吧,Oracle对字符串的处理没有那么只能,不想Java那样可以按指定字符分割字符串并返回子字符串的数组。这个可以通过Oracle的正则匹配函数实现。也只有这样了。
oracle端怎么把字符串分割成数组?
(1)定义split_type类型:CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000) / (2)定义split函数:CREATE OR REPLACE FUNCTION split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN split_type IS j INT := 0 i INT := 1 len INT := 0 len1 INT := 0 str VARCHAR2 (4000) my_split split_type := split_type () BEGIN len := LENGTH (p_str) len1 := LENGTH (p_delimiter) WHILE j < len LOOP j := INSTR (p_str, p_delimiter, i) IF j = 0 THEN j := len str := SUBSTR (p_str, i) my_split.EXTEND my_split (my_split.COUNT) := str IF i >= len THEN EXIT END IF ELSE str := SUBSTR (p_str, i, j - i) i := j len1 my_split.EXTEND my_split (my_split.COUNT) := str END IF END LOOP RETURN my_split END split / (3)存储过程中,使用类似 For T In ( select a,b,c,d from table (split("1,2,3,4",",")) ) Loop --注意下面的inserti语句,varchar类型的值需要补充引号上去 Execute Immediate " insert into tableName set fieldName = "||T.a Execute Immediate "commit" End Loop 的查询语句,把分开的结果拼成sql语句并写入到表中。
oracle字符串拆分?
oracle 中可以用connect by把字符串按都好分割:比如定义字符串:pv_no_list :="23,34,45,56"SELECT DISTINCT REGEXP_SUBSTR (pv_no_list,"[^,] ",1,LEVEL) as "token"FROM DUALCONNECT BY REGEXP_SUBSTR (pv_no_list,"[^,] ",1,LEVEL) IS NOT NULLorder by 1返回结果:TOKEN23344556
oracle split函数用法 oracle字符串分割函数 sql语句提取字符串中数字
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。