Announcement

Collapse
No announcement yet.

Datumsabfrage auf Englischem SQL Server

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

  • Datumsabfrage auf Englischem SQL Server

    Hallo,

    im Programm wird eine SQL-Anweisung ausgeführt in der Art. SELECT FELD1 FROM TABELLE WHERE BEGINN >= '23.07.2001'. Das Feld "BEGINN" ist vom Typ "DATETIME". Auf einem deutschen SQL-Server 2000 funktioniert die Abfrage wunderbar auf einem englischem jedoch nicht. Da er mit MM.TT.JJJJ eine Abfrage erwartet. Was kann bzw. muss ich bei ADO oder aber am SQL-Server umstellen damit er die deutsche Anfrage in das englische Format konvertiert?

    Vielen Dank

  • #2
    Hallo,

    der SQL Server 7/2000 speichert ein Datum in binärer Form als 2 x 4 Bytes, wobei in der Datenbank keine Info über das Datumsformat abgelegt ist. Mit dem folgenden Test über den Query Analyzer kann man dies nachprüfen:
    <pre>
    DECLARE @now datetime, @bytenow binary(8)
    SELECT @now = getdate()
    SELECT @bytenow = convert(binary(8), @now)
    SELECT @now AS fulldate, @bytenow AS internal,
    convert(int, substring(@bytenow, 1, 4)) AS days,
    convert(int, substring(@bytenow, 5, 8)) AS ticks
    </pre>
    Das o.g. Problem hat nur mit der Interpretation des Datumswertes zu tun. Zur Lösung gibt es verschiedene Möglichkeiten: <br>
    a) SET DATEFORMAT <br>
    b) ISO-Datumsformat YYYYMMDD ist völlig sprachunabhängig und läuft auf allen Umgebungen <br>
    c) CONVERT wird zur Umwandlung herangezoge

    Comment


    • #3
      Vielen Dank

      Comment

      Working...
      X