Michael S.: to_date() - Fkt. macht Probleme

Ich hab das folgende kleine Script geschrieben:

<?php

include("connect.php");

$von=$_POST[von];
$bis=$_POST[bis];

//$sql = "SELECT * FROM Bayer.Telefonliste WHERE Datum = '2006-05-05 16:14:19'"; //SQL-Abfrage bei der Datenbank
$sql = "SELECT * FROM Bayer.Telefonliste WHERE Datum > to_date('20020315', 'yyyymmdd')";
$query = mysql_query($sql)or die("MySQL-Error: ".mysql_error()); //Erstellung eines querys aus der Pointer der Abfrage
echo "<table border=1><tr><td><b>Name</b></td><td><b>Datum</b></td><td><b>Mitarbeiter</b></td><td><b>Firma</b></td><td><b>Beschreibung</b></td></tr>"; //Tabellenheader
while($row = mysql_fetch_assoc($query))
{
echo "<tr>";
echo "<td>" . $row[Name] . "</td><td>" . $row[Datum] . "</td><td>" . $row[Mitarbeiter] . "</td><td>" . $row[Firma] . "</td><td>" . $row[Beschreibung] . "</td>";
echo "</tr>";
}
?>

Jetzt will SQL aber weiss Gott warum die to_date() - Funktion nicht akzeptieren. Die auskommentierte Zeile drüber funktioniert einwandfrei, wenn er jedoch irgendwas kriegt, wo to_date drin vorkommt, mecktert der Server auf der Stelle:
MySQL-Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('20020315', 'yyyymmdd')' at line 1

  1. hi,

    Jetzt will SQL aber weiss Gott warum die to_date() - Funktion nicht akzeptieren.

    Weiß Gott denn, was für eine Funktion TO_DATE überhaupt sein soll?

    Meine bescheidene Wenigkeit kann jedenfalls bei den Datums- und Zeitfunktionen im MySQL-Manual nur eine Funktion STR_TO_DATE finden, aber kein TO_DATE ...

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi wahsaga,

      Weiß Gott denn, was für eine Funktion TO_DATE überhaupt sein soll?

      Also in ORACLE habe ich mit to_date(string,datumsformat) gute Erfahrungen gemacht... Wahrscheinlich copy & paste-Error ORACLE -> mySQL.

      Gruß

      Hans

    2. hi,

      Jetzt will SQL aber weiss Gott warum die to_date() - Funktion nicht akzeptieren.

      Weiß Gott denn, was für eine Funktion TO_DATE überhaupt sein soll?

      Meine bescheidene Wenigkeit kann jedenfalls bei den Datums- und Zeitfunktionen im MySQL-Manual nur eine Funktion STR_TO_DATE finden, aber kein TO_DATE ...

      gruß,
      wahsaga

      danke für den Hinweis. Wie immer - never ever trust the internet. Hab mindestens 10 Seiten, die in ihren Beispielen to_date() schreiben -.-

      1. hi,

        Wie immer - never ever trust the internet. Hab mindestens 10 Seiten, die in ihren Beispielen to_date() schreiben -.-

        Explizit auf MySQL bezogen?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi !

    //$sql = "SELECT * FROM Bayer.Telefonliste WHERE Datum = '2006-05-05 16:14:19'"; //SQL-Abfrage bei der Datenbank

    Hier machst Du einen String-Vergleich

    $sql = "SELECT * FROM Bayer.Telefonliste WHERE Datum > to_date('20020315', 'yyyymmdd')";

    Hier vergleichst Du ein Datum mit einem zu einem Datum konvertierten String.

    Wenn das erste Statement funktioniert und das untere nicht - kann es sein, daß die Spalte "Datum" nicht vom Typ "Datum" ist? Oder die to_date-Anweisung braucht das Format in Großbuchstaben (also YYYYMMDD)?

    Gruß

    Hans