Posts

Posts mit dem Label "Oracle" werden angezeigt.

Oracle: Spalten als Zeile (multiple rows as one column) LISTAGG

Direkt aus den Beispielen von Oracle   SELECT deptno, LISTAGG (ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;     ab 11g R2 .. damit für mich jetzt nutzbar. http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php

Alternative: Oracle Pipelined Functions als Nummerngenerator

Grummel, Mein Kollege - der im Gegensatz zu mir wirklich Oracle macht - hat mir dann diese Lösung vorgesetzt, die lesbarer ist:  Ein "Nummerngenerator" in Oracle: create or replace type number_tab_type as table of number ; / create or replace function generate_numbers ( n in number := null) return number_tab_type pipelined as begin   for i in 1 .. nvl ( n , 0 ) loop     pipe row( i );   end loop; end; / damit funktioniert dann: select * from table ( generate_numbers ( 3 ));   COLUMN_VALUE 1 2 3

Oracle Select: Erzeugen eines Zeitfolge mit connect

Hatte gerade das Problem, in SQL eine Zeitfolge (also n Perdioden a xx Minuten) der Art: 08.02.2012 00:00:00 bis 08.02.2012 00:30:00 08.02.2012 00:30:00 bis 08.02.2012 01:00:00 08.02.2012 01:00:00 bis 08.02.2012 01:30:00 konfigurierbar in einer SQL Query zu brauchen. Mit Oracle Bordmitteln geht das wie folgt: select   -- Berechne Ueberwachungsperioden all n Minuten)   startDatum + ((level- 1 ) / tagTeile ) as periode_begin ,   startDatum + ( level     / tagTeile ) as periode_ende from   (select trunc(sysdate) - 1 as startDatum , -- Ab Datum "Gestern"           48 as tagTeile          -- alle 30 Minuten (1 Tag / 48)        from dual ) where   ( startDatum +(level / tagTeile )) < sysdate -- Bis zur aktuellen Uhrzeit connect      by level<= (s...