to_date() - Fkt. macht Probleme
Michael S.
- php
0 wahsaga0 Hans0 Michael S.0 wahsaga
0 Hans
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
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
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
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 -.-
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
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