根据需求,写了一段方法。
用于识别以下的情况:
判断 字符串A 在用逗号分隔的字符串B中是否存在
如:
v_str_a = aa ;
v_str_b= aa,bb,dd,cc ;
如上,就返回Y,否则返回N。
添加了一些校验。
以后可以根据需求,按照指定的分隔符,提取字符串。
毕竟Oracle的字符串解析比较麻烦,能封装就封装。
create or replace function func_str_inArray(p_target varchar2, p_str_array varchar2) return varchar2 is v_flag varchar2(1); v_comma_loc int; v_cut_string varchar2(300); v_rest_string varchar2(2000); begin ------------------------ --p_target 不能包含","!!!注意!! --info:这个函数用于识别目标字符串,是否在一串用“,”分开的字符串内 ------------------------ v_flag := 'N'; v_comma_loc := instr(p_str_array, ','); --如果是对比字符串是空,则返回false if nvl(p_str_array, '') = '' then return 'N'; end if; --如果没有逗号,直接比较 if length(p_str_array) > 0 and v_comma_loc = 0 then if p_target = p_str_array then return 'Y'; else return 'N'; end if; end if; v_rest_string := p_str_array; while v_comma_loc > 0 loop v_cut_string := substr(v_rest_string, 0, v_comma_loc - 1); v_rest_string := substr(v_rest_string, v_comma_loc + 1, length(v_rest_string) - 1); if p_target = v_cut_string then v_flag := 'Y'; end if; v_comma_loc := instr(v_rest_string, ','); if v_comma_loc = 0 and length(v_rest_string) > 0 then if p_target = v_rest_string then v_flag := 'Y'; end if; end if; end loop; return v_flag; end;
相关推荐
Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换...
本篇文章将深入探讨如何在SQL查询中利用Oracle提供的函数来实现这一目标。 首先,Oracle提供了一个内置函数`TO_NUMBER()`,它专门用于将字符串转换为数字。`TO_NUMBER(string, format_mask)`函数接收两个参数:要...
`instr()` 是Oracle中的一个内建函数,它用于查找子串在目标字符串中的位置。例如,`instr(string, substring)` 返回`substring`在`string`中第一次出现的位置。虽然这不是直接的字符串分割函数,但可以配合其他...
在SQL查询中,我们可以直接使用这些函数来比较不同字符串间的相似程度,从而进行数据匹配、模糊搜索等操作。 Oracle提供了多个字符相似度函数,其中最常用的包括`SIMILARITY()`和`UTL_MATCH`包中的几个函数,如`...
ORACLE 字符串函数 ORACLE 字符串函数是一组用于操作和处理字符串的函数,包括连接、截取、转换、查找、替换、去除空白等操作。 1. 字符串连接函数:`string || string` 该函数用于连接两个字符串,结果是一个新...
突然想到Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样表示字符串里面含有非ASCII字符,这样得到结果。后写出来测试了一下,确实可行,5500万记录10秒钟扫描结束。以下是测试用例: ...
select f_find('Ap@2233ll@@l@@','@') from dual 返回结果为5,代表‘@’在该字符串中出现5次。 同理 select f_find('Ap@223SWEQQQ3ll@@l@@','Q') from dual---返回3,代表Q在字符串中出现了3次, select f_find('我...
Oracle SQL 内置函数大全 SQL中的单记录函数 给出整数,返回对应的字符 连接两个字符串 增加或减去月份 用于对查询到的结果进行排序输出
Oracle 验证是否是日期,帮助你验证给定的字符串是否可以转化为日期。
本文将对 Oracle SQL 函数大全进行分类和讲解,涵盖字符串函数、字符转换函数、去空格函数、取子串函数、字符串比较函数、字符串操作函数等多种函数。 一、字符转换函数 字符转换函数是将字符或字符串从一种形式...
Oracle数据库是世界上最广泛使用的数据库系统之一,尤其在企业级应用中占据重要地位。在处理数据时,字符串操作函数是...在日常工作中,结合源码和工具,这些字符串操作函数能帮助你编写出高效、简洁的SQL查询语句。
Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空...在 Oracle 和 SQL Server 中,我们可以使用 `NVL` 和 `ISNULL` 函数来判断值为空或 Null,並使用 `isNull` 和 `is not null` 来判断值是否为空或 Null。
INSTR函数则用来查找子串在目标字符串中的位置,返回值为0表示未找到。但手工编写这些查询对于大规模数据库可能非常繁琐且耗时。 这个名为"oracle遍历数据库查找字符串.jar"的工具可能实现了以下功能: 1. **连接...
oracle里面没有sql server里面的类似函数is_number来判断能否转换为数字,怎么办?本文给出答案。
ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...
Oracle数据库系统提供了丰富的函数库,包括数值函数、转换函数和字符串函数,这些函数极大地扩展了SQL语言的功能,方便了数据库操作。以下是对标题和描述中提及的一些重要函数的详细解释: 1. **数值函数** - **...
在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...
Oracle 中实现 Split 函数功能的优点是可以灵活地处理不同的分隔符和字符串长度。同时,这个函数也可以与其他 Oracle 函数和操作符结合使用,以实现更加复杂的数据处理任务。 在实际应用中,Oracle 中实现 Split ...
针对标题"oracle日期时间判断函数"和描述中提到的内容,我们可以深入探讨两个关键的函数,它们主要用于判断字符串是否可以转换为合法的日期时间格式。 1. TO_DATE函数: TO_DATE是Oracle中用于将字符串转换为日期...
在实际应用中,我们可能需要将JSON字符串存储在`CLOB`或`BLOB`类型的列中,然后利用Oracle的JSON函数进行读取和操作。例如,`JSON_OBJECT_T`和`JSON_ARRAY_T`是两个实用的类型,它们分别代表JSON对象和数组,可以...