ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
821
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    BaseBallBatBoy ist offline Mitglied Brokat
    Registriert seit
    Feb 2007
    Beiträge
    258
    Hi!

    DBMS: Oracle 10g

    Meine Tabelle:
    CREATE TABLE dates
    (
    name VARCHAR2 (30),
    date_from DATE,
    date_to DATE
    );

    Mein Eintrag:
    name date_from date_to
    ==== ======= ======
    EntryA 01-JUN-09 03-JUN-09

    Daraus will ich eine Datumsliste generieren, aber ich komme im Moment echt nicht drauf....
    Wie lautet das SQL damit ich folgendes erhalte?
    name my_date
    ==== =======
    EntryA 01-JUN-09
    EntryA 02-JUN-09
    EntryA 03-JUN-09

    Gruss
    BBBB
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    10.222
     
    Du kommst aus dem Saarland oder Umgebung? Du hast Interesse an Java-Technologie Themen? Then let's Meetup!

    Java rocks! http://www.jugsaar.de

    Does IT in Java and .Net
    Xing
    Twitter

  3. #3
    BaseBallBatBoy ist offline Mitglied Brokat
    Registriert seit
    Feb 2007
    Beiträge
    258
    Ich habe es mal versucht:

    SELECT
    NAME,
    DATE_FROM + rownum AS my_date
    FROM
    (
    SELECT
    NAME,
    DATE_FROM,
    DATE_TO
    FROM
    DATES
    )
    CONNECT BY DATE_FROM + rownum <= DATE_TO


    Ergibt:
    name my_date
    ==== =======
    EntryA 02-JUN-09
    EntryA 03-JUN-09


    Wenn ich die Tabelle um einen Record erweitere:

    name date_from date_to
    ==== ======= ======
    EntryA 01-JUN-09 03-JUN-09
    EntryB 05-JUN-09 07-JUN-09

    Erhalte ich:
    name my_date
    ==== =======
    EntryA 02-JUN-09
    EntryA 03-JUN-09
    EntryB 08-JUN-09

    Ist also noch nicht das wonach ich suche, aber danke schonmal für deinen Beitrag. Ich schau mir dann mal Connect By nochmal genauer an...
     

  4. #4
    BaseBallBatBoy ist offline Mitglied Brokat
    Registriert seit
    Feb 2007
    Beiträge
    258
    Ich hab's inzwischen selbst herausgefunden. Falls es jemandem helfen sollte, hier meine Lösung:

    SELECT DISTINCT
    y.NAME,
    y.DATE_FROM + LEVEL - 1 AS MY_DATE,
    FROM (
    SELECT
    NAME,
    DATE_FROM,
    DATE_TO
    FROM
    DATES
    ) y
    CONNECT BY
    LEVEL <= y.DATE_TO - y.DATE_FROM + 1
     

Ähnliche Themen

  1. [Oracle] JDBC URL (HOST, PORT, SERVICE) aus Oracle Datenbank mit SQL generieren
    Von Thomas Darimont im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 18.04.12, 17:49
  2. [Oracle] Liste aller Rollen und Privilegien (in Oracle 11XE)
    Von Thomas Darimont im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 29.02.12, 20:46
  3. [Oracle] Sehr viele interessante Präsentationen zum Thema Oracle und Sicherheit
    Von Thomas Darimont im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 24.01.07, 19:02
  4. [Oracle] - Suche Forum was unter Oracle funktioniert.
    Von PuN1sher im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 11.04.06, 13:53
  5. [Oracle] Genaue Version des Oracle Servers ermitteln
    Von Thomas Darimont im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 25.01.05, 20:42