27. marts 2008 - 15:33Der er
2 kommentarer og 1 løsning
Finde noget i string (kommasepareret)
Her kommer der en udfordring.
tabel1. kampnr number done number(1/0) varer clob
tabel2 kampnr number varenr number
Her kommer problemet. Jeg skal finde de varer i tabel1 der IKKE er i tabel2. Problemet er bare at feltet "varer" i tabel1 er en komma/semikolonsepareret string. Ex varer i tabel1: varenr,ciffer,ciffer,ciffer;varenr,ciffer,ciffer,ciffer;varenr, osv. Der kan være ubegrænset semikolon i stringen.
SELECT * FROM tabel1 WHERE kampnr=815 AND done=1 AND --her skal den finde varenr-- NOT IN(SELECT varenr FROM tabel2 WHERE kampnr=815);
Det er formodentlig noget PL/SQL man skal ud i, og evt regexp.
Kan jo få varenr med dbms_lob.instr(varer,"varenummeret",1,1)>0
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
CREATE TYPE number_table_type AS TABLE OF NUMBER; / CREATE FUNCTION get_all_split_liste(del IN VARCHAR2 := ',') RETURN number_table_type PIPELINED AS tmp VARCHAR2(1000); ix NUMBER; BEGIN FOR cur IN (SELECT varer FROM tabel1) LOOP tmp := cur.varer; LOOP ix := INSTR(tmp, del); IF ix > 0 THEN PIPE ROW(SUBSTR(tmp, 1, ix-1)); tmp := SUBSTR(tmp, ix + LENGTH(del)); ELSE PIPE ROW(tmp); EXIT; END IF; END LOOP; END LOOP; RETURN; END; / SELECT * FROM TABLE(get_all_split_liste()) MINUS SELECT varenr FROM tabel2;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.