MS SQL Server 2000 -> Datum wird falsch ausgeben?

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

  • MS SQL Server 2000 -> Datum wird falsch ausgeben?

    Hallo,

    ich hab einen Apache2 & einen Windows2000 SQL Server laufen
    das auslesen der Datenbank auf einen View funktioniert auch so weit.

    View-> besteht aus 7 Tabellen

    Das einzige Problem was ich hab das er mir die 2 Felder wo ein Datum drin steht und zwar wie folgt:

    dd.mm.jjjj

    nicht zb. so ausgibt:

    01.02.2007

    sonder so:

    01 02 2007 0:00

    lese das ganze in einer while-schleife aus mit mssql_fetch_object
    Habt ihr da eine Idee? Liegt es an dem View evtl? (lese es nicht direkt aus der Tabelle aus)

  • #2
    Typ der Datumsspalten ?
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      ja gute Frage wie find ich das denn raus?
      Im Dataprise Manager hab ich da nirgends ne Ansicht gefunden

      Kenn mich bei MS SQL SERVER 2000 leider ned wirklich aus....

      Vermute jedoch nicht das es ein DATE ist da es ja zb so abgespeichert ist:
      01.02.2007

      und nicht so:

      2007-02-01(wie in MYSQL ein DATE feld eben)

      Kommentar


      • #4
        die Spalte müsste vom Typ DATETIME sein. Entweder mit SQL formatieren (DAY, MONTH, YEAR ...) oder so:
        PHP-Code:
        echo date('d.m.Y H:i'strtotime($row['spaltenname'])); 
        im EM Doppelklick auf die Tabelle dann bekommst du die Eigenschaften der Spalten zu sehen, oder Rechtsklick -> Bearbeiten, dann kannst du auch sehen und ändern.
        Zuletzt geändert von asp2php; 14.02.2007, 20:03.

        Kommentar


        • #5
          ah super werd ich morgen gleich ausprobieren .

          Dachte mir schon so was ähnliches hab halt noch ne so viel exp mit MSSQL-DB´s

          naja is ja gut kann man wieder was lernen .


          Grüße
          Tom und danke!

          Kommentar


          • #6
            mhhh also passieren tut schon was nur leider eben nicht so wie es sollte:
            02 02 2007 0:00 (ohne formatierung, einfach nur ausgabe)

            mit
            PHP-Code:
            $liefer_datum date('d.m.Y H:i'strtotime($row->liefer_datum)); 
            gibt er mir das aus:

            01.01.1970 01:00

            hab nachgeschaut im Dataprise Manager und wenn ich drüber fahr in dem VIEW "bearbeitungsansicht" dann zeigt es mir an datetime. Hattest also recht. Die frage ist jetzt nur warum er mir so ein komisches datum ausgibt?!

            Das Datum ist doch aber rechtverdächtig oder? Hat da nicht die Unix Timestamp rechnung angefangen?

            Also funktioniert strtotime evtl ned und er nimmt einen default wert her?

            Grüße
            Tom

            Kommentar


            • #7
              dann formatiere in SQL, etwa so

              select day(liefer_datum)+'.'+...

              Kommentar


              • #8
                also hab jetzt nach langem suchen im internet endlich was gefunden was auch funzt .

                CONVERT (varchar(10), liefer_datum, 121) as liefer_datum

                Kennt jemand eine MSSQL DOKU im Internet? Hab wie blöd gesucht aber nüx gefunden .

                Kommentar


                • #9
                  3 mal darfst du raten, wo sowas zu finden gibt

                  Kommentar


                  • #10
                    Microdoof`seite? bzw nur im Developer geschützten Bereich?! ^^


                    ----
                    kleines andere Prob-> steh grad aufm schlauch und finds in der MYSql Doku ned


                    es gibt doch eine Abfrage in der man mehrere Werte in einer Spalte suchen kann, aber nicht so umständlich wie mit AND AND AND

                    also nicht
                    MARKE and = '5' and MARKE = '8' usw....

                    sonder IN MARKE('5','8',usw.....)


                    -> ha mir isses wieder eingefallen
                    WHERE value IN (value1, value2, ...)
                    Zuletzt geändert von tomtherock; 15.02.2007, 11:53.

                    Kommentar

                    Lädt...
                    X