Announcement

Collapse
No announcement yet.

Datum in Tageszahl umwandeln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datum in Tageszahl umwandeln

    Hallo zusammen,

    ich möchte folgende Darstellung erreichen:

    Tageszahl Datum Leads
    1 1.10 100
    2 2.10 200
    3 3.10 71
    4 4.10 43
    5 5.10 48
    . . .
    . . .
    . . .

    Wie kann ich anhand von SQL bestimmen, daß
    der 1.10 = Tag 1 ist und der 2.10 Tag 2.?

    Vielen Dank im voraus

    Reiner

  • #2
    Ich glaube die Darstellung ist nicht perfekt.
    Es soll natrürlich eine Tabelle darstellen

    Comment


    • #3
      Hallo,

      im Fall des MS SQL Server kann man über die <b>DATEDIFF</b>-Funktion die Differenz in Tagen zwischen zwei Datums-Werten ermitteln:
      <pre>
      SELECT DATEDIFF(dd, '01.10.2004', CURRENT_TIMESTAMP)
      </pre&gt

      Comment


      • #4
        "Leider" handelt es sich um Oracle 8.1

        Comment


        • #5
          Hier die Lösung:<br>
          <br>
          ---- Anweisungsblock für Creat Procedure --- <br>
          <br>
          begin<br>
          <br>
          declare C_SQL varchar(2048);<br>

          declare erg_drmdmod varchar(5);<br>

          declare at_end int default 0;<br>

          declare not_found condition for '02000';<br>

          declare csr_dfm1 dynamic scroll cursor with return for SEL_dfm1 ;<br>

          declare continue handler for not_found set at_end = 1; <br>
          <br>
          set C_SQL = 'select FELDA from '|| c_ziel ||' where FELDA = '|| c_zielwert ||' and FELDB = '''|| c_allnr || ''' ' ;<br>

          <br>

          prepare SEL_dfm1 from C_SQL;<br>

          open csr_dfm1;<br>

          <br>

          fetch csr_dfm1 into erg_drmdmod;<br>

          <br>

          --- Prüfen ob Satz schon vorhanden. <br>

          if (at_end = 1) then<br>
          ...<br>
          ...<br>
          ...<br>
          else<br>
          ...<br>
          ...<br>
          ...<br>
          end if;<br>
          close csr_dfm1;<br>
          end;<br>
          <br>
          Gruß,<br>
          Marc

          Comment


          • #6
            Warum "Leider"? Unter Oracle kannst du Datumswerte einfach Subtrahieren und erhälst die Differenz in Tagen im ganzzahligen Anteil (der gebrochene Anteil sind die Stunden).<pre>
            SELECT TRUNC(SYSDATE) - TO_DATE('01.10.2004') FROM DUAL</pre>
            Um einzelne Werte eines Datum zu extrahieren - einfach mal die Formatmöglichkeiten zu TO_CHAR genauer ansehen. Ich habe noch keine Datumsberechnung gehabt, die sich nicht mit TRUNC, ROUND und TO_CHAR/TO_DATE lösen lies.
            Wenn du dein Problem etwas näher beschreibst, ist auch ein konkretes Beispiel möglich

            Gruß Fal
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Hallo Falk,

              ich kann die Datumswerte zwar addieren und ggf. decodieren aber dann stehen die Werte in den Spalten und ich benötige die Daten zeilenweise so wie sie aus der Datenbank kommen:
              Select datum, leads from campaigns.
              Und dann soll statt dem Wert 01.09.2004
              die Zahl 1 auftauchen (mit einer Zahl Leads)
              und statt des Wertes 02.09.2004 soll die zahl 2 auftauchen.
              Ziel ist es, die jeweils ersten 30 Tage einer Kampagne abzubilden.

              Gruß
              Reine

              Comment


              • #8
                Hallo Reiner,<pre>
                SELECT TO_CHAR(datum, 'D') Tageszahl, datum, leads
                FROM campaigns</pre>
                Ist es das was du suchst? Oder benötigst du eher eine Lfd.Nr.?<pre>
                SELECT ROWNUM Tageszahl, datum, leads
                FROM campaigns</pre>

                Gruß Fal
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment


                • #9
                  Hallo Falk,

                  danke für die Lösung. Perfekt.

                  Gruß
                  Reine

                  Comment

                  Working...
                  X