Search between dates

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Search between dates

Δημοσίευση από smartmedia » 15 Σεπ 2007 02:23

Γεια χαρα..

Ηθελα να ρωτησω το εξης:

Θέλω να βρω ολες τις εγγραφες αναμεσα σε 2 ημερομηνιες (start date - end date)
To πεδιο ειναι DateTime. Η βάση είναι 4.1 στανταρτ.

Δοκιμαζω με between καθως επισης και με LIKE %Date% αλλα δεν δουλευει.

SELECT Title FROM Data WHERE DateInserted LIKE '%[DateTime2]%' OR DateInserted LIKE '%[DateTime3]%' AND Status = 1;

Καμια ιδεα...???

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Search between dates

Δημοσίευση από fafos » 15 Σεπ 2007 20:34

smartmedia έγραψε:Γεια χαρα..

Ηθελα να ρωτησω το εξης:

Θέλω να βρω ολες τις εγγραφες αναμεσα σε 2 ημερομηνιες (start date - end date)
To πεδιο ειναι DateTime. Η βάση είναι 4.1 στανταρτ.

Δοκιμαζω με between καθως επισης και με LIKE %Date% αλλα δεν δουλευει.

SELECT Title FROM Data WHERE DateInserted LIKE '%[DateTime2]%' OR DateInserted LIKE '%[DateTime3]%' AND Status = 1;

Καμια ιδεα...???
An kataxoreis thn hmeromhnia me unix stamp (p.x. morfh 139776644) einai eukolo:

SELECT Title FROM Data WHERE DateInserted > DateTime2 AND DateInserted < DateTime3 AND Status = 1;

H


SELECT Title FROM Data WHERE DateInserted BETWEEN DateTime2 AND DateTime3 AND Status = 1;

smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Search between dates

Δημοσίευση από smartmedia » 16 Σεπ 2007 00:55

Γεια,

Τα πεδια εχουν τιμη CURRENT_TIMESTAMP().

Αν DateTime2 είναι 14/09/2007 και η DateTime3 είναι 15/09/2007 και θελω να βρω τις εγγραφες απο/και 14/09/2007 μεχρι και 15/09/2007 δεν παιζει, θα μου γυρισει ολες τις εγγραφες που ειναι 14/09/2007

Αυτο πάλι δεν δουλευει.
SELECT Title FROM Data WHERE DateInserted >= DateTime2 AND DateInserted <= DateTime3 AND Status = 1;

Καμια αλλη ιδεα...

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27616
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Search between dates

Δημοσίευση από cordis » 06 Οκτ 2007 17:32

Κώδικας: Επιλογή όλων

SELECT Title FROM Data WHERE DateInserted BETWEEN '14/09/2007 00&#58;00&#58;00.000000' AND '15/09/2007 23&#58;59&#58;59.999999' AND Status = 1;
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Search between dates

Δημοσίευση από smartmedia » 09 Οκτ 2007 07:17

Γεια χαρά,

Σε ευχαριστώ cordis, δουλεψε μια χαρα...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Search between dates

Δημοσίευση από dva_dev » 09 Οκτ 2007 17:01

Μπορεί να εξηγήσει κάποιος (ή να παραπέμψει σε κάποιο link) γιατί δεν παίζει στη mysql το

Κώδικας: Επιλογή όλων

WHERE Πεδίο >= Τιμή1 AND Πεδίο <= Τιμή2
ενώ παίζει το

Κώδικας: Επιλογή όλων

WHERE Πεδίο BETWEEN Τιμή1 AND Τιμή2
όπως αναφέρει ο φίλος smartmedia;

Αυτά τα δύο δεν είναι ισοδύναμα;

Μήπως το πρόβλημα είναι στο πως έχουν γραφτεί τα Τιμή1, Τιμή2;

Ευχαριστώ πολύ.

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

Search between dates

Δημοσίευση από dik_ » 09 Οκτ 2007 18:41

Τουλάχιστον για μη ημερομηνιακά πεδία ναι.

Για ημερομηνίες δεν ξέρω... Προσωπικά χρησιμοποιώ πάντα int timestamps. Βρίσκω πολύ πιο εύκολη τη διαχείρισή τους...

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27616
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Search between dates

Δημοσίευση από cordis » 10 Οκτ 2007 00:32

Κώδικας: Επιλογή όλων

SELECT * FROM `phpbb_users` WHERE user_id >=10 and user_id <= 20

Κώδικας: Επιλογή όλων

SELECT * FROM `phpbb_users` WHERE user_id between 10 and 20
και τα δύο δούλεψαν και τα δύο μου έβγαλαν τα ίδια...
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

stavroch
Δημοσιεύσεις: 45
Εγγραφή: 13 Απρ 2009 13:49

Search between dates

Δημοσίευση από stavroch » 13 Απρ 2009 14:30

Αν το πεδίο date είναι τύπου date τότε πως προτείνετε να δηλώσουμε την εντολή για να πάρουμε το πλήθος των αποτελεσμάτων από μια ημερομηνία εώς μια άλλη;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Search between dates

Δημοσίευση από dva_dev » 13 Απρ 2009 19:58

Καλό είναι όταν γίνεται μια νέα ερώτηση να δημιουργείται νέο θέμα και να μην μπαίνει το ερώτημα μέσα σε κάποιο άλλο. Ο επόμενος που θα χρειαστεί το ίδιο πράγμα πρέπει να μπορεί να το βρεί.

Στο θέμα λοιπόν:
Αντί για

Κώδικας: Επιλογή όλων

SELECT * FROM `pinakas` WHERE dateField BETWEEN date1 AND date2
Θα χρησιμοποιήσεις τη συνάρτηση COUNT() και θα δώσεις

Κώδικας: Επιλογή όλων

SELECT COUNT&#40;*&#41; FROM `pinakas` WHERE dateField BETWEEN date1 AND date2

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες