Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

sql befehl





Frage

hy ich möchte gerne eine sql abfrage erstellen die datumsabhängig sind. auf deutsch: 2 textfelder in denen man jeweils ein datum eingibt. es sollen dann nur die einträge angezeigt werden die zwischen den beiden angegebenen datumsangaben liegen also select blabla from blablatabelle where datum1 ....??? thx im voraus

Antwort 1 von rabies

Liegen die Daten (Mehrzahl von Datum?!) denn als Timestamp in der Tabelle vor?

Wenn ja, könntest Du Dir jeweils von der Funktion mktime() den Timestamp aus einem Datum zaubern lassen.

Danach müsstest Du, wie schon richtig angedeutet, eine Abfrage via
SELECT
machen.

Anbieten würde sich hier folgendes:

SELECT spalte1, spalte2, usw FROM tabelle WHERE datum BETWEEN timestamp1 AND timestamp2


--rabies.

Antwort 2 von sphere

also ich hab di daten (ka mehrzahl von datum :))
in einer oracle datenbank abgespeichert. da sind datums + zeitangaben abgespeichert
diese sind unter den spalten namen VON (erstes datum) und BIS (zweites datum) abgespeichert


ich wollt die sql abfrage wie folgt machen:

select blabla from blablatabelle where Datum1 > Von AND Datum2 < Bis


aber irgendwas passt nicht ganz :((

lg sphere

Antwort 3 von rabies

Also hast Du Dein Datum in einer Form ähnlich Januar 1 1970 00:00:00 GMT in der Tabelle stehen? Oder in welcher Form liegt das nun genau vor?

Welchen Typ haben die beiden Spalten? DATE, DATETIME, TIME ... irgendwas in dieser Form? Oder gar doch soetwas wie ein CHAR, VARCHAR?

Antwort 4 von Sphere

also in meiner oracle datenbank hab ich date stehen

trotzdem speichert er datum + zeit

das schaut dann so aus 12.12.2006 12:36:44

zeit ist für mich eigentlich nicht so wichtig
im grunde will ich nur nach datum suchen können

thx für hilfe

Antwort 5 von rabies

Das ist jetzt nur ein Versuch. Ich hab keine Ahnung, ob das funktionieren kann, da ich noch nie mit Oracle und deren spezifischen SQL-Methoden gearbeitet habe; aber hier zum Testen:

SELECT spalte1, spalte2, usw FROM tabelle WHERE datum BETWEEN to_date($datum1, 'MM.DD.YYYY') AND to_date($datum2, 'MM.DD.YYYY')


Ich denke, wenn Du hier der Abfrage einfach nur noch die Variablen $datum1 und $datum2 in der Form Tag.Monat.Jahr übergibst, könnte es funktionieren.

--rabies.

Antwort 6 von rabies

Zusätzlich hilft Dir evtl. folgender Link noch weiter: Vordefinierte skalare SQL-Funktionen unter der Überschrift 'Konvertierung von Datum in Zeichenkette (to_char) und umgekehrt (to_date)' könntest Du noch ein paar Informationen und Fallbeispiele finden.

--rabies.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: