Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
SQL selezione Datatime maggiore o minori
giovedì 23 agosto 2007 - 12.01
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Danielef
Profilo
| Newbie
4
messaggi | Data Invio:
gio 23 ago 2007 - 12:01
Ciao a tutti
sto facendo un piccolo script che dovrebbe seleziona dei periodi in una tabella sql
nella tabella sono presenti due campi
datainizio
datafine
entrambi datetime
nell'inserimento di nuovi record la data viene convertita tramite funzione in formato datatime.
quando vado a fare la selezione di un determinato periodo , mi serve tirare fuori tutti i record compresi da data inizio e datafine.
ho notato che se nei parametri passo il periodo uguale a quello inserito per data inzio e data fine mi viene dato il record
ma se è compreso all'interno del periodo inserito nulla......vi faccio un esempio
se nel record è inserito in datainzio 29/07/1982 e data fine 29/07/1983 ...
se nella query passo i periodi come sopra il record esce fuori
ma se nei parametri passo come datainizio= 29/10/1982 e data fine 29/05/1983 il record non esce fuori
la mia clausa sql è questa
where (periodi_prenotazione.Datainizio >= @datainizio) AND (periodi_prenotazione.datafine <= @datafine)
Grazie
Daniele
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 23 ago 2007 - 14:00
>se nel record è inserito in datainzio 29/07/1982 e data fine
>29/07/1983 ...
>se nella query passo i periodi come sopra il record esce fuori
>ma se nei parametri passo come datainizio= 29/10/1982 e data
>fine 29/05/1983 il record non esce fuori
>la mia clausa sql è questa
>
>where (periodi_prenotazione.Datainizio >= @datainizio) AND
>(periodi_prenotazione.datafine <= @datafine)
Forse non ho capito ma:
Record:
periodi_prenotazione.DataInizio = 29/07/1982
periodi_prenotazione.datafine = 29/07/1983
Parametri
@DataInizio = 29/07/1982
@datafine = 29/07/1983
(periodi_prenotazione.Datainizio >= @datainizio) AND (periodi_prenotazione.datafine <= @datafine)
(29/07/1982 >= 29/07/1982)AND(29/07/1983 <= 29/07/1983)
(TRUE)AND(TRUE) = TRUE
Secondo caso
Record:
periodi_prenotazione.DataInizio = 29/07/1982
periodi_prenotazione.datafine = 29/07/1983
Parametri
@DataInizio = 29/10/1982
@datafine = 29/05/1983
(periodi_prenotazione.Datainizio >= @datainizio) AND (periodi_prenotazione.datafine <= @datafine)
(29/07/1982 >= 29/10/1982)AND(29/07/1983 <= 29/05/1983)
(FALSE) AND (FALSE) = FALSE
Non riesco a capire il problema...
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
Danielef
Profilo
| Newbie
4
messaggi | Data Invio:
gio 23 ago 2007 - 17:04
ok, molto probabilmente non mi sono spiegato bene
quando faccio
datainzio =29/07/1982
datafine = 29/07/1983
deve uscire come risultati tutti i record con la data inzio uguale o maggiore di quella indicata e i record data fine inferiore o uguale a quella indicata..
invece mi esce solo i record uguali a datainizio e datafine..
capito?
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
ven 24 ago 2007 - 08:33
Mi rifaresti l'esempio di cui sopra?
Controlla il formato delle date americano/italiano ecc Prova a fare un SET DATEFORMAT DMY o come prefersci in modo esplicito per evitare questi problemi, i parametri e i campi di che tipo sono?
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !