Monat: Oktober 2009

  • MCZ Polar // Belegung der Schnittstelle

    Folgendes habe ich gerade in einem Forum zur Belegung der „Seriellen“ Schnittstelle auf der Rueckseite meines MCZ-Polar Pelletofens gelesen (bisher ungetestet):

    • Pin 1 und Pin 6 sind Thermostat (closed = on // open =off)
    • Pin 3,7 und 8 -> undokumetierte „Programmazione“ Schnittstelle (immer diese Italiener 🙂

    Pin 1 und 6 greifen nur wenn man den Ofen in den Automatikmodus setzt und die Solltemperatur auf unter 6 Grad einstellt. Man darf gepannt sein, ob das tut …

  • In Oracle ueber Zeilen hinweg Strings verbinden

    Auch nett…

    wer weiss wofuer man es mal gebrauchen kann.

    Gegeben sei folgende Tabelle:

    SQL> SELECT deptno, ename FROM emp ORDER BY deptno, ename;
    
    DEPTNO ENAME
    ------ ----------
        10 CLARK
        10 KING
        10 MILLER
        20 ADAMS
        20 FORD
        20 JONES
        20 SCOTT
        20 SMITH
        30 ALLEN
        30 BLAKE
        30 JAMES
        30 MARTIN
        30 TURNER
        30 WARD
    
    14 rows selected.

    Wir moechten jetzt die Employees zu einem department aber in je einer Zeile haben. Man nehme: wm.concat aus wmsys

    SELECT deptno,wmsys.wm_concat(ename) as concatenated FROM dept group by deptno;
    
        DEPTNO CONCATENATED
    ---------- --------------------------------------------------
            10 CLARK,KING,MILLER
            20 ADAMS,FORD,JONES,SCOTT,SMITH
            30 ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARD
    ...

    Ist doch schick, oder ?

     

    [Update 2017-04-25]: Habe das heute mal wieder gebraucht. wm_concat ist wohl nicht mehr vorhanden. Stattdessen gibt es was offizielles. Funktioniert fast genau so: listagg. Hier ein adaptiertes Beispiel:

    SELECT deptno,wmsys.listagg(ename,', ') within group (order by ename) as concatenated FROM dept group by deptno;

    Man kann sogar den Delimiter mit angeben (hier ein ,) und sortieren…