sql befehl
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 schreiben
Antwort 1 von rabies vom 31.01.2019, 11:27 Options
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 vom 31.01.2019, 11:35 Options
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 vom 31.01.2019, 12:08 Options
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 vom 31.01.2019, 12:32 Options
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 vom 31.01.2019, 12:59 Options
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:
[b]SELECT[/b] spalte1, spalte2, usw [b]FROM[/b] tabelle [b]WHERE[/b] datum [b]BETWEEN to_date([/b]$datum1[b],[/b] 'MM.DD.YYYY'[b]) AND to_date([/b]$datum2[b],[/b] 'MM.DD.YYYY'[b])[/b]
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 vom 31.01.2019, 14:01 Options
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.