first commit by ailanyin

This commit is contained in:
2021-11-29 10:00:15 +08:00
commit 0523155715
161 changed files with 19134 additions and 0 deletions

49
doc/FIND_IN_SET.sql Normal file
View File

@ -0,0 +1,49 @@
create or replace FUNCTION ROOT.FIND_IN_SET(piv_str1 varchar2, piv_str2 varchar2, p_sep varchar2 := ',')
RETURN NUMBER IS
l_idx number:=0; -- <20><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD>piv_str2<72>зָ<D0B7><D6B8><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
str varchar2(500); -- <20><><EFBFBD>ݷָ<DDB7><D6B8><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
piv_str varchar2(500) := piv_str2; -- <20><>piv_str2<72><32>ֵ<EFBFBD><D6B5>piv_str
res number:=0; -- <20><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
res_place number:=0;-- ԭ<>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>е<EFBFBD>λ<EFBFBD><CEBB>
BEGIN
-- <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD>null <20>򷵻<EFBFBD>0
IF piv_str2 IS NULL THEN
RETURN res;
END IF;
-- <20><><EFBFBD><EFBFBD>piv_str<74><72>û<EFBFBD>зָ<D0B7><D6B8><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>ж<EFBFBD>piv_str1<72><31>piv_str<74>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD> res_place=1
IF instr(piv_str, p_sep, 1) = 0 THEN
IF piv_str = piv_str1 THEN
res_place:=1;
res:= res_place;
END IF;
ELSE
-- ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ȡpiv_str
LOOP
l_idx := instr(piv_str,p_sep);
--
res_place := res_place + 1;
-- <20><>piv_str<74>л<EFBFBD><D0BB>зָ<D0B7><D6B8><EFBFBD>ʱ
IF l_idx > 0 THEN
-- <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ֶ<EFBFBD>str
str:= substr(piv_str,1,l_idx-1);
-- <20>ж<EFBFBD> str <20><>piv_str1 <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD>ж<EFBFBD>
IF str = piv_str1 THEN
res:= res_place;
EXIT;
END IF;
piv_str := substr(piv_str,l_idx+length(p_sep));
ELSE
-- <20><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>piv_str <20>в<EFBFBD><D0B2><EFBFBD><EFBFBD>ڷָ<DAB7><D6B8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD>piv_str<74><72>piv_str1<72>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD> res=res_path
IF piv_str = piv_str1 THEN
res:= res_place;
END IF;
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
EXIT;
END IF;
END LOOP;
-- <20><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
END IF;
-- <20><><EFBFBD><EFBFBD>res
RETURN res;
END FIND_IN_SET;

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
1. 装一个mysql5.7
2. 执行ailanyin-boot-mysql5.7.sql到mysql5.7中
3. 装dm8
4. 用达梦数据迁移工具,将mysql迁移到dm8
5. 复制FIND_IN_SET.sql中的内容并运行
(将ROOT.FIND_IN_SET中的ROOT改成实际的)