Announcement

Collapse
No announcement yet.

Datumsproblem

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

  • Datumsproblem

    Hallo,

    soweit ich das richtig gelesen werden die Daten im Feld datetime mssqlspezifisch abgespeichert und liegen in keinem Format vor.
    Jedoch erhalte ich bei der Ausgabe dieser Werte das Format: yyy-mm-dd 00:00:00.000 obwohl die Regioneneinstellung, MSSQL-Server, Verbudungs etc. alles auf deutsch eingestellt ist.
    Warum bekomme ich standardmäßig nicht die richtige Ausgabe?
    Meine andere Frage lautet, wie ich möglichst einfach die Datensätze die am selben Tag stattfanden gruppiere. Ich kann da ja casten und die Uhrzeit abschneiden etc., aber das kann ja nicht die Lösung sein.

    Vielen Dank

  • #2
    Originally posted by Thomas2 View Post
    soweit ich das richtig gelesen werden die Daten im Feld datetime mssqlspezifisch abgespeichert und liegen in keinem Format vor.
    Jedes DBMS speichert ihre Datumswerte in einem DBMS-Spezifischen Format. Das kann dir aber egal sein da ja die übergabe auf SQL-Eben für dich relevant ist. Und dort wird der MS SQL Server ein Format haben das problemlos von jedem Client (.NET, Native, Java, PHP) verstanden wird.

    Originally posted by Thomas2 View Post
    Jedoch erhalte ich bei der Ausgabe dieser Werte das Format: yyy-mm-dd 00:00:00.000 obwohl die Regioneneinstellung, MSSQL-Server, Verbudungs etc. alles auf deutsch eingestellt ist.
    Wie fragst du die Daten ab? Wenn du das format yyyy-mm-... bekommst wird wohl auf Clientseite irgendwas eingestellt sein das dieses Format verwendet werden soll wenn ein datetime-Wert als String ausgegeben werden soll

    Originally posted by Thomas2 View Post
    Warum bekomme ich standardmäßig nicht die richtige Ausgabe?
    Indem du bei deiner Ausgabe in deinem Programm das Vorgibst was du als richtig definierst. Da wir nicht wissen mit was (Java/.NET/Delphi/PHP/... du entwickelst könnten wir jetzt blind raten.

    Originally posted by Thomas2 View Post
    Meine andere Frage lautet, wie ich möglichst einfach die Datensätze die am selben Tag stattfanden gruppiere. Ich kann da ja casten und die Uhrzeit abschneiden etc., aber das kann ja nicht die Lösung sein.
    Ihh mach da mal einen eigenen Thread auf...

    Vielen Dank[/QUOTE]

    Comment


    • #3
      Um möglichst wenig Schnittstellen zu haben, frage ich die Daten direkt im MSSQL Studio Express ab. Und dort ist ja gerade alles auf deutsch eingestellt und trotzdem werden die Daten so ausgegeben.
      Schlussendlich läuft die Verbindung über PHP+ODBC, aber wenn es schon quasi direkt an der Quelle schiefgeht bezweifel ich das ich schlussendlich richtig klappt.

      Danke

      Comment


      • #4
        Was der Client als Textdarstellung für ein Datetime-Feld hat ist sch*** egal. Du bekommst dein Feld in der Ergebnismenge richtig codiert wenn du es auch richtig als Datumsfeld abrufst. Der Zugriff über ODBC ist zwar nicht optimal aber auch über PHP bekommst du dein Datumsfeld bei korrekter abfrage des Ergebnisfeldes zurück. Alternativ kannst du vermutlich auch in PHP angeben wie Datumsfelder formatiert werden sollen falls sie als String dargestellt werden sollen. Kenn PHP mehr oder minder nur vom Namen so das ich dir keinen Beispielcode liefern kann.

        Comment


        • #5
          Soweit ich das verstanden habe hängt es beim MSSQL Studio bspw. von den Spracheinstellungen ab. Diese stehen auf deutsch. Ebenso der gesamte SQL-Server. Und wenn ich nun im MSSQL Studio ein SELECT * absetze erscheint das falsche Datumsformat. Das dürfte meines erachtens aber nicht sein, oder?

          Mir ist klar das es später evtl. in PHP anders gehandhabt wird, ich möchte aber das Problem verstehen und nachvollziehen können.

          Comment


          • #6
            Wo hast du gelesen, dass bei deutscher Einstellung das Datum als dd.mm.yyyy angezeigt wird? Die Visualisierung liegt immer beim anzeigenden Programm und wenn sich MS einbildet, das Management Studio zeige ein Datum immer als yyyy-mm-dd an, dann ist das so, egal wie der Server eingestellt ist.
            Für die Visualisierung daher am besten immer CONVERT() verwenden, dann kriegt man garantiert das, was man sehen will.

            bye,
            Helmut

            Comment


            • #7
              Ich hatte mal ein Beispiel ausgeführt. Dies arbeitete imho mit set locale usw. und mein MSSQL Studio lieferte nicht das Ausgabeformat das eigentlich erscheinen sollte. Ich werde das Beispiel nochmal raussuchen.

              Comment

              Working...
              X