致力做一个首先想的是怎么帮助别人的人
点赞再看,谢谢支持
前言
想要提高编程效率,就必须学会造轮子,造好的轮子随时使用,随时开车。
今天分享一些实用的函数和存储过程(轮子),希望你能够用上。
一、(‘0a,0b,0c’)–>(‘0a’,‘0b’,‘0c’)
-
传入参数:逗号分隔的字符串
-
输出结果:逗号分隔的带单引号的字符串
-
使用场景:当老师想要在文本框中输入多个学生名称(逗号分隔)查询学生信息时
老师输入:张三,王五,李四 -
系统接收:‘张三,王五,李四’
如果直接使用接收到的字符串进行查询,结果为空
select * from students where student_name in (‘张三,王五,李四’); -
系统先要对接收到的字符串进行处理,
处理之后:‘张三’,‘王五’,‘李四’
select * from students where student_name in (‘张三’,‘王五’,‘李四’); -
函数代码如下:
create or replace function f_change_str_to_str(a_str in varchar2)
return varchar2 is
/*
--模块功能:字符串转换_例('0a,0b,0c')-->('0a','0b','0c')
--a_str: 传入字符串
--demo: select f_change_str_to_str('0a,0b,0c') from dual;
*/
oldstr varchar2(4000) := a_str;
newstr varchar2(4000) := null; --返回加单引号之后的值
v_commapos number(4); --逗号位置
v_curitem varchar2(4000) :=<