Ciao a tutti, spero di non sbagliare forum. Ho un quesito e spero che possiate aiutarmi.

Mettiamo che in un campo DATA di una specifica Tabella memorizzo Data e Ora, come faccio a fare una ricerca solo per Data?

Quando eseguo lo script mi restituisce i valori memorizzati solo quando inserisco anche l'ora e questa cosa, per quello che devo fare io, non va bene!

grazie a tutti
GDP
89 messaggi dal 13 aprile 2004
Ciao Gianluca,
Premesso che non hai indicato quale database utilizzi e a quale script ti stai riferendo. In SQL Server e MySQL il tipo DATE non contiene informazioni sugli orari, mentre in Oracle contiene anche tali informazioni. In SQL Server e MySQL il tipo DATETIME è analogo al campo DATE di Oracle.
Tornando alla tua domanda la ricerca per data, nel caso in cui è presente anche l'orario può essere fatta in più modi. I più banali sono:
1) confronto di tutto ciò che è maggiore o uguale alla data di ricerca e minore della data di ricerca aumentata di un giorno. In SQL Server ad esempio supponendo di avere una tabella Appuntamenti con una colonna Data (di tipo datetime) e di voler cercare tutti gli appuntamenti del 10/1/2014 si potrà scrivere qualcosa del tipo:
SELECT * FROM Appuntamenti WHERE Data >= CONVERT(DATETIME, '10/01/2014', 103) AND Data < CONVERT(DATETIME, '11/01/2014', 103)
2) utilizzando nella clausola WHERE la funzione BETWEEN tra le due date
3) utilizzando le funzioni che ricavano la parte di interesse per la data (ad es. DATEPART) per ricavare dal campo Data la parte di interesse con cui confrontare la data da ricercare

In generale il campo DateTime è tra i più rognosi anche perché bisogna tener conto anche del formato interno del DB (per questo nel primo caso i confronti sono stati fatti usando la convert) e i formati nazionali delle date (il nostro formato è individuato dal 103 nella CONVERT)
Modificato da LittleAnt il 11 gennaio 2014 18.56 -
non ho specificato il DB perchè mi vergogno un po'... secondo me, dopo questa affermazione, l'hai capito da solo!!! cmq grazie mille, mi hai aperto la mente!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.