Ankündigung

Einklappen
Keine Ankündigung bisher.

DATETIME Abfrage liefert doppelte Ergebnisse

Einklappen

Neue Werbung 2019

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

  • DATETIME Abfrage liefert doppelte Ergebnisse

    Hallo Leute,
    ich habe eine Tabelle die wie folgt aussieht:
    nummer time
    333 2011-04-14 12:41:54.000
    .....

    Jetzt möchte ich mir eine Abfrage schreiben, die mir einerseits das DATETIME liefert und das dazugehöirge deutsche Format dd.mm.yyyy.

    Meine Abfrage sieht wie folgt aus:
    SELECT DISTINCT CAST(CAST(time AS int) AS datetime) AS fulldate, CONVERT(varchar(10), time, 104) AS germandate
    FROM table

    Als Ausgabe erhalte ich aber folgendes:
    fulldate germandate
    05.09.2012 00:00:00 05.09.2012
    05.09.2012 00:00:00 04.09.2012
    04.09.2012 00:00:00 03.09.2012
    04.09.2012 00:00:00 04.09.2012

    Also bekomme ich jedes Fulldate doppelt ausgegeben und das Germandate ist dann einmal der entsprechende Tag und der entsprechende Tag -1.

    Woran kann das liegen?

    Oder ist der Ansatz sogar kompletter Mist?
    Ich möchte das deutsche Datumsformat aus einem Dropdown-Menü auswählen und dann alle dazugehörigen Nummern aus der Tabelle table bekommen.

    Ich hoffe ihr könnt mir helfen.
    THX!

  • #2
    Zitat von PwiePower Beitrag anzeigen
    Hallo Leute,
    ich habe eine Tabelle die wie folgt aussieht:
    nummer time
    333 2011-04-14 12:41:54.000
    .....

    Jetzt möchte ich mir eine Abfrage schreiben, die mir einerseits das DATETIME liefert und das dazugehöirge deutsche Format dd.mm.yyyy.
    Da würde mir (PostgreSQL) spontan to_char() einfallen... das macht das, was Du (offenbar) willst.


    Meine Abfrage sieht wie folgt aus:
    SELECT DISTINCT CAST(CAST(time AS int) AS datetime) AS fulldate, CONVERT(varchar(10), time, 104) AS germandate
    FROM table

    Erklär doch mal mir als unwissenden MySQL-Nichtnutzer was "CONVERT(varchar(10), time, 104)" bewirken soll.


    Andreas

    Kommentar


    • #3
      CONVERT(varchar(10), time, 104)
      ...er will den Datentyp in einen anderen konvertieren

      mfg Wolf29

      Kommentar


      • #4
        jop die ersten 10 zeichen yyyy-mm-dd der spalte time werden ins format 104 kopiert

        LINK FÜR DIE FORMATDEFINITIONEN

        edit: zu früh abgeschickt.
        das umwandeln ins deutsche format schein aber nicht das primäre problem zu sein.
        denn das datetime wird ja immerhin doppelt angezeigt und ich weiß nicht warum -.-
        hoffe ihr könnt da helfen

        Kommentar


        • #5
          Zitat von PwiePower Beitrag anzeigen
          jop die ersten 10 zeichen dd.mm.yyyy der spalte time werden ins format 104 kopiert

          LINK FÜR DIE FORMATDEFINITIONEN

          edit: zu früh abgeschickt.
          das umwandeln ins deutsche format schein aber nicht das primäre problem zu sein.
          denn das datetime wird ja immerhin doppelt angezeigt.
          Okay.

          *facepalm*


          Du speicherst den Timestamp als TEXT?


          Andreas

          Kommentar


          • #6
            ok. nochmal von vorn.

            ich hab eine tabelle mit
            time (DATETIME)
            2011-04-14 12:41:54.000
            .....

            Mit
            SELECT DISTINCT CAST(CAST(time AS int) AS datetime)
            FROM table
            bekomme ich das das gewünschte deutsche format, jeddoch mit der Zeitangabe 00:00:00 hinten dran.

            Jetzt möchte ich allerdings nur dd.mm.yyyy ausgegeben bekommen.
            Wie mache ich das am besten?

            omfg ja habs.
            sry!!!

            Kommentar


            • #7
              CAST as date ? nicht datetime

              Kommentar


              • #8
                ja, der ganze rest war unnötig.
                ka wie ich dadrauf gekommen bin^^

                Kommentar

                Lädt...
                X