philos Δημοσ. 28 Δεκεμβρίου 2022 Δημοσ. 28 Δεκεμβρίου 2022 (επεξεργασμένο) Έχουμε έναν πίνακα table με τα εξής columns days1 (int) days2 (int) date (unix timestamp) Ας πούμε ότι μια γραμμή μπορεί να έχει τις εξής τιμές: days1 = 3 days2 = 5 date = 1669627713 (Nov 28 2022 09:28:33) Θέλω να εντοπίσω τις γραμμές που έχουν λήξει, που λήξει σημαίνει ότι το άθροισμα days1 + days2 έχει ξεπεράσει την ημερομηνία του date σε σχέση με το NOW()/ time() στην php. Δε ξέρω πως αλλιώς να το εξηγήσω, αλλά ας πούμε για την παραπάνω γραμμή, έχει λήξει αφού η σημερινή ημερομηνία Dec 28 είναι 30 μέρες μετά την date (η οποία είναι Nov 28), ενώ το άθροισμα είναι 5 + 3 = 8. Αφού 30 > 8 τότε θεωρείται ληγμένη γραμμή και θέλω να την εντοπίσω. Καμιά ιδέα για τη σύνταξη της WHERE; Επεξ/σία 28 Δεκεμβρίου 2022 από philos
Moderators Kercyn Δημοσ. 28 Δεκεμβρίου 2022 Moderators Δημοσ. 28 Δεκεμβρίου 2022 Δε θα μπορούσες να κάνεις κάτι τέτοιο (στο περίπου, δεν το δοκίμασα); SELECT field1, field2 FROM table WHERE (date + ((days1 + days2) * 86400)) < UNIX_TIMESTAMP(NOW()) Ρίξε επιπλέον και μια ματιά εδώ. EDIT: Εναλλακτικά υπάρχει και η DATEDIFF. 2
k33theod Δημοσ. 28 Δεκεμβρίου 2022 Δημοσ. 28 Δεκεμβρίου 2022 Μάλλον WHERE TIMESTAMPDIFF(DAY, date, current_timestamp) > days1 + days2; To DAY λέει απλά να δώσει τη διαφορά σε μέρες
Floral12 Δημοσ. 4 Ιανουαρίου 2023 Δημοσ. 4 Ιανουαρίου 2023 WHERE unix_timestamp(NOW()) > unix_timestamp(date) + (days1 + days2) * 86400;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα