View Full Version : [SQL] Selezione record tra due date
DigitalKiller
07-04-2008, 23:06
Come da titolo, devo selezionare tutti i record compresi in un certo intervallo di date (es. tra 01/01/2008 e 07/04/2008). Il problema è dovuto al fatto che la data non è memorizzata in un unico campo bensì in tre campi distinti:
- uno per il giorno
- uno per il mese
- uno per l'anno
Questo pomeriggio ho provato tutte le soluzioni possibili (almeno quelle alla mia portata) ma non ho risolto nulla. Avete qualche suggerimento?
Grazie:)
Come da titolo, devo selezionare tutti i record compresi in un certo intervallo di date (es. tra 01/01/2008 e 07/04/2008). Il problema è dovuto al fatto che la data non è memorizzata in un unico campo bensì in tre campi distinti:
- uno per il giorno
- uno per il mese
- uno per l'anno
Questo pomeriggio ho provato tutte le soluzioni possibili (almeno quelle alla mia portata) ma non ho risolto nulla. Avete qualche suggerimento?
Grazie:)
puoi cambiare il formato della tabella? sarebbe la soluzione ottimale e più veloce.
che database è?
DigitalKiller
07-04-2008, 23:16
puoi cambiare il formato della tabella? sarebbe la soluzione ottimale e più veloce.
che database è?
No, non posso cambiare la struttura. Se avessi potuto farlo, l'avrei già fatto:D
Si tratta di un database db2 su un i5 a cui accedo da una pagina php tramite odbc
Allora dipende da come gestisce db2 le date.
Indicativamente dovrebbe essere una cosa del genere:
SELECT * FROM Tabella
WHERE Date('1/4/2008') <= Date(Concat(Tabella.Day, '/', Tabella.Month, '/', Tabella.Year) && Date('10/4/2008') >= Date(Concat(Tabella.Day, '/', Tabella.Month, '/', Tabella.Year);
ovviamente come farlo dipende dal dialetto SQL specifico, che non conosco.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.