20. April 2011

Ein wenig Spielerei: Monatskalender in SQL Plus!

Playing around a bit: Monthly calendar in SQL*Plus
Heute habe ich etwas, was wohl auch ein wenig in die Kategorie "Spielereien" gehört, aber die muss es ja auch geben. Zuletzt hatte ich mal ein paar Minuten und dachte mir, dass ein SQL-Skript zum Generieren eines Monatskalenders doch ganz nett wäre - die Grundversion mit der PIVOT-Klausel war schnell erstellt - dann fehlte nur noch der Feinschliff. Und hier ist es.
My today's blog posting might be something for the toybox - but we also need those things. Last week I had some spare minutes in which I was playing around with the SQL PIVOT clause introduced in Oracle11g. So I created a monthly calendar as a SQL script. Here we go.
ol monat format a15
set pages 20
set verify off

with dates as (
  select  to_date('01&1', 'DDMMYYYY') + (level - 1) the_date from dual
  connect by level < trunc((add_months(to_date('01&2','DDMMYYYY'),1) - 1) - to_date('01&1', 'DDMMYYYY')) + 2 
) 
select monat, " MO ", " DI ", " MI ", " DO ", " FR ", " SA ", " SO ", ww KW 
from (
  select 
    rtrim(to_char(the_date, 'MONTH' ), 'nls_date_language=german')  monat 
   ,case 
      when to_char(the_date, 'IW') > 50 and to_char(the_date, 'MM') = '01' then 
        to_char(the_date, 'YYYY') - 1||to_char(the_date, 'IW')
      else 
        to_char(the_date, 'YYYYIW')
    end as yyyyww
   ,to_char(the_date, 'yyyyMM' ) m 
   ,case when trunc(the_date) = trunc(sysdate) then 
      '*' || to_char(the_date, 'DD') || '*' 
    else 
      ' ' || to_char(the_date, 'DD') || ' '
    end dd
   ,rtrim(upper(to_char(the_date, 'DY', 'nls_date_language=''german''' )))  d 
   ,to_char(the_date, 'IW') ww
  from dates where the_date between to_date('01&1', 'DDMMYYYY') and add_months(to_date('01&2', 'DDMMYYYY'),1) - 1
) pivot (
  min(dd) for d in (
    'MO' as " MO ",
    'DI' as " DI ",
    'MI' as " MI ",
    'DO' as " DO ",
    'FR' as " FR ",
    'SA' as " SA ",
    'SO' as " SO " 
  )
)
order by yyyyww, m
/

undefine 1
undefine 2
Aufrufen geht dann so.
Use it as follows ...
SQL> @kal 042011 052011

MONAT            MO   DI   MI   DO   FR   SA   SO  KW
--------------- ---- ---- ---- ---- ---- ---- ---- --
APRIL                                01   02   03  13
APRIL            04   05   06   07   08   09   10  14
APRIL            11   12   13   14   15   16   17  15
APRIL           *18*  19   20   21   22   23   24  16
APRIL            25   26   27   28   29   30       17
MAI                                            01  17
MAI              02   03   04   05   06   07   08  18
MAI              09   10   11   12   13   14   15  19
MAI              16   17   18   19   20   21   22  20
MAI              23   24   25   26   27   28   29  21
MAI              30   31                           22
Bei der schnellen Terminplanung vielleicht ganz nützlich - nehmt's ansonsten als Beispiel für "Kunst mit SQL Plus". Bei mir liegt es neben einigen anderen Skripten im Verzeichnis, auf das die Umgebungsvariable SQLPATH zeigt; damit habe ich es immer im Zugriff.
Perhaps it is useful, perhaps it's just SQL*Plus arts. I placed it in the SQLPATH folder where it is always accessible. Have fun.

11. April 2011

Im Zeichen des Cloud Computing - Events "APEX Cloud im Mai"

This post is about an event in german language and therefore in german only.
Cloud Computing ist in aller Munde. Nahezu täglich kann man über neue Produkte und Ideen zum Thema Cloud Computing lesen. Auch an mir geht das Thema nicht vorbei ...
Wenn man sich (wie ich) längere Zeit mit APEX beschäftigt und sich dann das Cloud Computing näher ansieht, kommt man irgendwie zum Schluß, dass APEX das seit 2003 schon macht!. Denn APEX ist, wie man am öffentlichen Demoserver apex.oracle.com erkennen kann, hervorragend für das Hosting ausgelegt. Dann liegt doch die Frage nahe, wie man ein solches "APEX-Hosting" im eigenen Unternehmen realisieren könnte.
Und genau damit wollen wir uns auf einer Veranstaltung im Mai näher beschäftigen. Gemeinsam mit der MT AG aus Ratingen und Muniqsoft aus München stellen wir in Düsseldorf, Hamburg und München vor, wie man "Cloud Computing mit APEX" sofort umsetzen kann - APEX-Hosting im eigenen Unternehmen. Denn mehr als eine APEX-Installation braucht man im ersten Schritt nicht -> bereits dann hat man eine Entwicklerplattform "as a service" (PaaS). Natürlich gibt es auch danach noch etwas zu tun - was genau, das könnt Ihr auf der Veranstaltung erfahren.
Also, schaut mal rein - die Veranstaltung beginnt um 12:00 mit Imbiß und Networking und dann starten wir mit der Agenda.
  • 3. Mai in Düsseldorf
  • 10. Mai in Hamburg
  • 18. Mai in München

4. April 2011

OracleXE 11.2 (Beta) verfügbar!

OracleXE 11.2 (Beta) available
Heute gibt es ein ganz kurzes Blog-Posting: Ich wurde ja nun schon oft danach gefragt, konnte aber nie eine genaue Auskunft geben. Heute kann ich es: OracleXE 11.2 ist als Betaversion verfügbar!. Ihr könnt es aus dem OTN herunterladen. Viel Spaß beim Ausprobieren ...
Today's blog posting is a rather short one. I was often asked for that in the past, but I was not able to give an exact answer. But today I can. OracleXE 11.2 (Beta) is available!. It is downloadable from OTN. Have fun!

Beliebte Postings