|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
[SQL] Aiutatemi per questa query
Nel Database ho piú campi tra i quali
dd -> Giorno mm -> Mese yy -> Anno Ora la domanda! Come faccio a estrarre quelle tuple che hanno una data superiore o uguale ad una data? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Perdonami se ti faccio io una domanda anzichè rispondere alla tua..
Ma non puoi creare semplicemente un campo di tipo data ?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Mar 2007
Messaggi: 284
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Sarebbe facile per lui se avesse _un_ solo campo di tipo data...
ma se ho capito bene la sua domanda lui ha tre campi nella tabella: dd=05 mm=07 yy=07 e per esempio li dovrebbe confrontare con un solo campo data che prende da qualche parte tipo: 08/06/07 quindi dovrebbe usare un where (non so come) da confrontare con ogni porzione del campo di tipo data. Perciò gli chiedevo se non fosse più semplice utilizzare un unico campo di tipo data all'interno del db
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
Grazie per le vostre risposte. Allora é meglio sostituirlo con il tipo "date".
|
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Mar 2007
Messaggi: 284
|
Quote:
![]() ![]() Parti a confrontare l'anno, poi il mese ed infine il giorno |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ad esempio per tutte le date precedenti il 09/07/2007
WHERE aa < 2007 OR (aa = 2007 AND mm < 7) OR (aa = 2007 AND mm = 7 AND dd < 7) Il confronto dovrebbe funzionare sempre ![]() Comunque come già detto, va meglio un campo data... |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Dipende un po' da che DB usi, ma in generale la vedrei così:
where to_char(data,'YYYYMMGG') < (anno || mese || giorno) dove data è la data con cui fai il confronto e il doppio pipe è l'operatore di concatenazione tra stringhe (la mia è una sintassi che va bene su Oracle). Potresti dover eseguire qualche conversione di formati.
__________________
Il sole è giallo |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:24.