+ Antworten
Ergebnis 1 bis 7 von 7

Thema: between einschränken

  1. #1
    TP-Senior strauberry macht alles soweit korrekt
    Registriert seit
    Nov 2002
    Beiträge
    216

    between einschränken

    Hallo zusammen,

    ich möchte in einer Tabelle prüfen, ob der Zeitraum (angegeben durch zwei Unix-Timestamp Start und Ende) von min. einem Datensatz einen gegebenen Zeitpunkt umfasst.

    PHP-Code:
    SELECT 1138878000 BETWEEN Startzeit AND Endzeit FROM buchungen 
    Das Problem ist jetzt, dass mir das Teil für jeden Eintrag der Tabelle buchungen eine 0 bzw. 1 zurückgibt. Ich hatte sows versucht:

    PHP-Code:
    SELECT 1138878000 AS Test BETWEEN Startzeit AND Endzeit FROM buchungen
    ORDER BY Test ASC LIMIT 0
    ,
    Um das auf ein Ergebnis (0 o. 1) zu beschränken, nur leider funktioniert das Statement nicht.

    Danke für eure Hilfe!

    strauberry

  2. #2
    TP-Moderator Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Avatar von Cybergreek
    Registriert seit
    Nov 2005
    Ort
    Köln
    Beiträge
    1.608
    Du brauchst eine WHERE-Klausel.
    Also sowas in der Art:
    PHP-Code:
    SELECT x FROM buchungen WHERE 1138878000 Startzeit AND 1138878000 Endzeit 
    Wobei ich nicht genau verstehe, was Dein "1138878000" sein soll...
    Grüße vom Griechen,
    Cybergreek!

    everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht

  3. #3
    TP-Senior strauberry macht alles soweit korrekt
    Registriert seit
    Nov 2002
    Beiträge
    216
    Die Zahl ist ein Timestamp. Das gute an Between ist ja, dass ich folgendes machen kann:

    SELECT ... WHERE 2 <= 3 AND 3 <= 4.

    Das erzeugt sonst einen Fehler, weil 3 ja nicht gleich 2 UND gleich 4 sein kann. Der Timestamp kann nämlich auch genau auf dem Start- oder Endpunkt liegen. In diesem Fall wäre es ebenfalls ein true.

  4. #4
    TP-Special Mod webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User Avatar von webmichl
    Registriert seit
    Jun 2001
    Ort
    8°21' O 49°1' N
    Beiträge
    8.635
    select count(*) gibt Dir die Anzahl der Treffer zurück

    Gruß, der Michl



    * * * if you want them to RTFM, make a better FM! * * *


  5. #5
    TP-Senior strauberry macht alles soweit korrekt
    Registriert seit
    Nov 2002
    Beiträge
    216
    Ja schon.

    Vom Inhalt her brauche ich folgendes Statement: Suche mir alle Einträge, bei denen Zeitpunkt A entweder im eigenen Zeitraum liegt oder dem Anfang entspricht oder dem Ende entspricht.

    Klar kann ich das auch mit einem Select machen, ich dachte nur between wäre da etwas schneller bzw. kürzer.

  6. #6
    TP-Moderator Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Cybergreek lebt für das TP und seine User Avatar von Cybergreek
    Registriert seit
    Nov 2005
    Ort
    Köln
    Beiträge
    1.608
    Du kannst doch dann das nehmen, oder nicht?!
    PHP-Code:
    SELECT x FROM buchungen WHERE 1138878000 >= Startzeit AND 1138878000 <= Endzeit 
    Grüße vom Griechen,
    Cybergreek!

    everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht

  7. #7
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137
    Zitat Zitat von strauberry
    PHP-Code:
    SELECT 1138878000 BETWEEN Startzeit AND Endzeit FROM buchungen 
    Da fehlt das FROM damit MySQL überhaupt weiß welche Tabelle gemeint ist.
    Und außerdem wird es wohl kein Feld mit dem Namen `1138878000` geben.
    Schau Dir SQL-Statements nochmal genauer an und benutze or die(mysql_error()).
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51