[Mysql] ANzahl der Monate

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Mysql] ANzahl der Monate

    hello,

    hat jemand schon erfahrung mit berechnen von monaten zwischen 2 zaitangaben?

    z..b.
    Zeit_ab = 1.1.2004
    Zeit_bis = 23.5.2004

    mit mysql bin ich einmal auf folgendes query gestossen:

    PHP-Code:
    <? $query=("SELECT (
    (
    (
    YEAR( Zeit_Bis ) -1
    ) *12 + MONTH( Zeit_Bis ) 
    ) - ( (
    YEAR( Zeit_ab ) -1 ) *12 + MONTH( Zeit_ab ) 
    )
    ) >0, (
    (
    (
    YEAR( Zeit_Bis ) -1
    ) *12 + MONTH( Zeit_Bis ) 
    ) - ( (
    YEAR( Zeit_ab ) -1 ) *12 + MONTH( Zeit_ab ) 
    )
    ) - ( MID( Zeit_Bis, 9, 2 ) < MID( Zeit_ab, 9, 2 ) ) , 
    IF (
    (
    (
    (
    YEAR( Zeit_Bis ) -1
    ) *12 + MONTH( Zeit_Bis ) 
    ) - ( (
    YEAR( Zeit_ab ) -1 ) *12 + MONTH( Zeit_ab ) 
    )
    ) <0, (
    (
    (
    YEAR( Zeit_Bis ) -1
    ) *12 + MONTH( Zeit_Bis ) 
    ) - ( (
    YEAR( Zeit_ab ) -1 ) *12 + MONTH( Zeit_ab ) 
    )
    ) + ( MID( Zeit_ab, 9, 2 ) < MID( Zeit_Bis, 9, 2 ) ) , (
    (
    (
    YEAR( Zeit_Bis ) -1
    ) *12 + MONTH( Zeit_Bis ) 
    ) - ( (
    YEAR( Zeit_ab ) -1 ) *12 + MONTH( Zeit_ab ) 
    )
    )
    )
    )FROM table"); ?>
    nur dass problem ist dass wie man sieht es nicht genau 4 Monate sind, sondern 4,71 Monate.
    wie schaffe ich ess dass es mir mysql genau dass auch ausgibt? bzw. am einfachsten mittels php zu errechnen?

    danke.
    bei fragen immer
    windows - pc: Start -> Ausführen -> cmd (command) - format c:
    linux : lass es , es hat sicher einen sinn so
    --
    php-forum.at


    >>>>dont ask me why<<<<

  • #2
    mit DATE_FORMAT auf das richtige Format bringen
    und mit PERIOD_DIFF die Differenz in Monat ausrechnen lassen.

    Kommentar


    • #3
      okay, dnake ;-) mit dem ginge mal es einfacher als mit den if`s ,

      dennoch zeigt er mir in diesem fall mit dem query:
      PHP-Code:
      <? $query=("SELECT PERIOD_DIFF(DATE_FORMAT(`Zeit_Bis`,'%Y%m%d'),DATE_FORMAT(`Zeit_ab`,'%Y%m%d'))
      FROM `admin_BstProdIntervall` "); ?>
      70 and, was ja stimmt...
      allerdings mit
      PHP-Code:
      <? $query=("SELECT PERIOD_DIFF(DATE_FORMAT(`Zeit_Bis`,'%Y%m'),DATE_FORMAT(`Zeit_ab`,'%Y%m'))
      FROM `admin_BstProdIntervall` "); ?>
      kommt wiederrum 4 und nicht 4.71 ?!
      bei fragen immer
      windows - pc: Start -> Ausführen -> cmd (command) - format c:
      linux : lass es , es hat sicher einen sinn so
      --
      php-forum.at


      >>>>dont ask me why<<<<

      Kommentar


      • #4
        dann mußt du wahrscheinlich php-seitig händisch rechnen

        Kommentar


        • #5
          habe es befürchtet...mmhhhh... danke!
          bei fragen immer
          windows - pc: Start -> Ausführen -> cmd (command) - format c:
          linux : lass es , es hat sicher einen sinn so
          --
          php-forum.at


          >>>>dont ask me why<<<<

          Kommentar

          Lädt...
          X