de173 Δημοσ. 12 Φεβρουαρίου 2010 Δημοσ. 12 Φεβρουαρίου 2010 Καλησπέρα σε όλους και όλες. Προσπαθώ να φτιάξω ένα query το οποίο θα μου δίνει την ημερομηνία της πρώτης εργάσιμης ημέρας κάθε μήνα. Αυτό σημαίνει πώς: Εάν η πρώτη εργάσιμη ημέρα είναι μεταξύ Δευτέρας ή Παρασκευής, το query θα μου δίνει την πρώτη ημέρα του μήνα, π.χ. 2009-07-01 Εάν η πρώτη εργάσιμη ημέρα είναι Σαββάτο, το query θα μου δίνει την τρίτη ημέρα του μήνα,π.χ. 2009-07-03, μιας και αυτή θα είναι η Δευτέρα. Εάν η πρώτη εργάσιμη ημέρα είναι Κυριακή, το query θα μου δίνει την δεύτερη ημέρα του μήνα,π.χ. 2009-07-03, μιας και αυτή θα είναι η Δευτέρα. Μία δεύτερη σκέψη είναι να φτιαχτεί πίνακας με όλα τα Σαββατοκύριακα, τις Αργίες, της Ελληνικές αργίες κτλ. ώστε κατά την εκτέλεση αυτού του query, να ελέγχεται και αυτός ο πίνακας για να επιτυγχάνεται ορθότερη εύρεση αυτής της ημεράς. Φυσικά αυτός ο πίνακας θα πρέπει να δημιουργείται κάθε χρόνο. Εσείς τι λέτε;
drm Δημοσ. 12 Φεβρουαρίου 2010 Δημοσ. 12 Φεβρουαρίου 2010 Πρέπει να το κάνεις με SQL Query ? νομίζω ότι με κλασσικό προγραμματισμό θα ήταν πολύ πιο εύκολο...
Tmark Δημοσ. 12 Φεβρουαρίου 2010 Δημοσ. 12 Φεβρουαρίου 2010 Το query σε πιο βάση θα ρωτάει για να πάρει αποτέλεσμα? Έχεις φτιάξει πίνακες με μηνες κλπ?
de173 Δημοσ. 12 Φεβρουαρίου 2010 Μέλος Δημοσ. 12 Φεβρουαρίου 2010 @drm: Πρέπει να γίνει σε sql διότι εκεί είναι η βάση δεδομένων μου. @Tmark: Δεν υπάρχει πίνακας με μήνες. Σκοπός μου είναι να βρίσκω κάθε μήνα την πρώτη εργάσιμη ημερομηνία (από Δευτέρα έως Παρασκευή) και να τις αποθηκεύσω σε έναν πίνακα.
Aztec Δημοσ. 12 Φεβρουαρίου 2010 Δημοσ. 12 Φεβρουαρίου 2010 Συνήθως σε γενικά συστήματα που μπορεί να υπάρχουν διαφορετικές αργίες υπάρχει ένας πίνακας calendar ο οποίος αρχικοποιείται με όλες τις ημέρες και ορίζονται οι εργάσιμες και οι αργίες βάσει κανόνων που έχεις θέσει. ---------- Προσθήκη στις 22:19 ---------- Προηγούμενο μήνυμα στις 21:46 ---------- Σε oracle αυτο δείχνει την επόμενη εργάσιμη για τον μήνα ΜΑΙΟ 2010 με μόνο περιορισμό τα Σαββατοκύριακα select case when trim(to_char(to_date('01-MAY-2010'),'DAY')) = 'SATURDAY' then to_date('01-MAY-2010')+2 when trim(to_char(to_date('01-MAY-2010'),'DAY')) = 'SUNDAY' then to_date('01-MAY-2010')+1 else to_date('01-MAY-2010') end " First ergasimi for MAY 2010" from dual;
random Δημοσ. 12 Φεβρουαρίου 2010 Δημοσ. 12 Φεβρουαρίου 2010 σκριπτάκι που, με παράμετρο έτος Χ, υπολόγιζει όλες τις κινητές εορτές της Ελλάδας (εξαρτόνται απο το Πάσχα, source σε διαφορες γλώσσες μπορεις να βρεις ευκολα με γουγλη). καταχωρεί ολες αυτές σε πινακα "αργίες". επίσης καταχωρείs καρφωτά στον ιδιο πινακα, όλες τις σταθερές εορτές (πχ. 28/10). και αλλο ενα σκριπτακι ,σαν του Aztec, που του δίνεις μήνα/έτος, και ελεγχει η 1η μερα του ειναι Σ/Κ, ή αν ειναι καταχωρημένη στον αργίες. Αν ειναι, πάει στην 2η, κ.ο.κ.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.