Oracle 은 쉼표 로 구 분 된 문자열 에 따라 구 덩이 를 동시에 기록 합 니 다.
b.part_no not in (select replace(wm_concat(t.materielcode),',',''',''') from quality_check t where t.materielcode is not null)
아무리 해도 걸 러 지지 않 습 니 다. 이것 은 IN 이후 문자열 이 아니 라 결과 집합 이기 때 문 입 니 다. 위의 스 크 립 트 에서 찾 아 낸 결 과 는 첫 번 째 입 니 다.
:
001,002,003,004
:
001
002
003
004
그래서 위의 조회 결 과 를 구분 해 야 합 니 다.
1. 반환 대상 데이터 형식 만 들 기:
create or replace type mytype as table of varchar2(4000)
숫자 로 도 가능 합 니 다.
create or replace type mytype as table of number;
2. 분리 함수 만 들 기
create function my_split(piv_str in varchar2, piv_delimiter in varchar2)
--piv_str ,piv_delimiter
return mytype is
j int := 0;
i int := 1;
len int := 0;
len1 int := 0;
str varchar2(4000);
my_split mytype := mytype();
begin
len := length(piv_str);
len1 := length(piv_delimiter);
while j < len loop
j := instr(piv_str, piv_delimiter, i);
if j = 0 then
j := len;
str := substr(piv_str, i);
my_split.extend;
my_split(my_split.count) := str;
if i >= len then
exit;
end if;
else
str := substr(piv_str, i, j - i);
i := j + len1;
my_split.extend;
my_split(my_split.count) := str;
end if;
end loop;
return my_split;
end my_split;
3. sql 완성:
select *
from manu_taskinfo mt
where mt.part_no not in
(select column_value
from table (select my_split(wm_concat(t.materielcode), ',')
from quality_check t
where t.materielcode is not null))
다음으로 전송:https://www.cnblogs.com/echo-ling/p/7479308.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.