167 messaggi dal 29 dicembre 2002
devo fare qualche prova, magari provo sul mio db , quello delle prenotazioni spazi riunioni, cosi a mente potrei darti dei suggerimenti errati.
appne riesco a fare qualche test ti posto gli esempi..
277 messaggi dal 13 giugno 2001
Mi raccomando! Aspetto tue notizie. Ciao

Carmen
se posso intromettermi, per ricercare un invervallo di date occorre:

dataDB >= @dataInizio
datadb < @dataFine

dove dataFine è la data di fine ricercata + 1 giorno.

Ormai programmano tutti... ma la professionalità appartiene a pochi
277 messaggi dal 13 giugno 2001
Generalmente sarebbe così. Nel mio caso no.

Primo perche se userei DataInizio>= non va bene (nel mio caso), dovrei usare invece <=

Per non ripetere nuovamente le stesse cose magari dagli un'occhiata ai post cos' magari ti rendi conto più preciso quello che mi servirebbe fare.

Carmen
7 messaggi dal 11 novembre 2006
Carmen wrote:
Generalmente sarebbe così. Nel mio caso no.

Primo perche se userei DataInizio>= non va bene (nel mio caso), dovrei usare invece <=

Per non ripetere nuovamente le stesse cose magari dagli un'occhiata ai post cos' magari ti rendi conto più preciso quello che mi servirebbe fare.

Ciao,

prova a guardare se questa query fa al caso tuo.

select
Persone
from
Cantiere
where
(@StartDate between Cantiere.StartDate AND
isnull(Cantiere.EndDate,'99990101') OR
(@EndDate between Cantiere.StartDate AND Cantiere.EndDate) OR (Cantiere.StartDate between @StartDate AND @EndDate) OR
(isnull(Cantiere.EndDate,'99990101') between @StartDate AND @EndDate)
dove '99990101' puo' essere una qualsiasi data a tua scelta, anche la data odierna, e @StartDate and @EndDate sono i tuoi parametri di ricerca.
Ciao
PV
.

Paolo V.
167 messaggi dal 29 dicembre 2002
il problema lo ha quando la data di fine non è presente..

WHERE (dalser <= '03/03/08') AND (alser >= '03/03/08' OR
alser IS NULL)

cosi dovrebbe andare..
Facci sapere..
277 messaggi dal 13 giugno 2001
Ciao,

All'ora farò qualche prova con i vostri esempi, e vi faccio sapere.

cmq, la data di fine nel caso non sia presente nel db non c'è un valore nullo ma 0, in quanto le date inizie e fine nel db sono scritte in formato numerico

Carmen
277 messaggi dal 13 giugno 2001
peace8maker ha scritto:
Carmen wrote:
select
Persone
from
Cantiere
where
(@StartDate between Cantiere.StartDate AND
isnull(Cantiere.EndDate,'99990101') OR
(@EndDate between Cantiere.StartDate AND Cantiere.EndDate) OR (Cantiere.StartDate between @StartDate AND @EndDate) OR
(isnull(Cantiere.EndDate,'99990101') between @StartDate AND @EndDate)
dove '99990101' puo' essere una qualsiasi data a tua scelta, anche la data odierna, e @StartDate and @EndDate sono i tuoi parametri di ricerca.
Ciao
PV
.



Vorrei provare anche questo metodo, però non mi risulta molto chiara, in particolare perchè usi questo simbolo (@)

Carmen

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.