87 messaggi dal 31 luglio 2001
Ragazzi ho questo problema ho una tabella del mio DB che ha due campi DataIN e DataOUT vorrei fare una query passandogli una data ed estrarre tutti i record dove la data che gli do è compresa nell'intervallo DataIN e Data OUT

Es.
ID DATAIN DATAOUT
1 15/09/2005 19/09/2005

Entrando con una variabile data impostata ad esempio a var1=18/09/2005 vorrei che mi estraesse il record o l'insieme dei records..

Spero di essere stato chiaro e vi ringrazio dei preziosi suggerimenti che solo questa community riesce a darmi.

Grazie
Piero de Cindio
324 messaggi dal 20 settembre 2001
www.iromtek.com
ti conviene convertire la data in formato numerico aaaammgg

"Il problema delle persone è che cercano negli altri qualità che questi non posseggono mentre dovrebbero apprezzare ed esaltare le qualità che gli altri realmente posseggono"
113 messaggi dal 03 maggio 2005
sghillo ha scritto:
ti conviene convertire la data in formato numerico aaaammgg


si ragazzi per l'ennesima volta seguite questo consiglio le date sono rompipalle....trasformatele in un numero e poi le potrete confrontare come volete....non usate datediff o roba varia tutte panzanate....

sono un fesso con una tastiera in mano
87 messaggi dal 31 luglio 2001
Ma che dici!!!!
Non sono affatto daccordo con te.
Gestire una data è diverso da gestire un numero.

esempio
28/09/2005 e 01/10/2005

se li traduco in

20050928 e 20051001

e voglio fare quella query che ho chiesto non posso gestire il fatto che i mesi possono essere di 28/29/30/31 giorni

Chi mi aiuta a far la query???
113 messaggi dal 03 maggio 2005
ma tu devi fare un controllo che siano maggiori o minori e traformandole in numeri ci riesci perfettamente....cosa ti interessa di sapere se agosto a 31 giorni o no?se vai 30 agosto 2005 - 31 agosto 2005 ti restituirà sempre 1 come valore cosa centra sapere quanti mesi ha agosto?

nel tuo caso devi fare una data compresa ed ecco come si fà:

nel db devi mettere una data nel formato aaaammgg quanto andrai a confrontare avrai così

data in data da trovare dataout
20050528 20050628 20050729

se fai la query così ti esce che quella data è compresa e troverai i record esatti la query dovrebbe essere così dopo che cambi la struttura come diciamo noi

select * from nometabella where datain<='dataimmessa' and dataout>='dataimmessa'

dovrebbe funzionare prova fidati se adotti questo metodo non avrai + problemi con le date per sempre ciao poi è solo un cosiglio se non ti garba vacci di datediff ma ti dò i miei auguri perchè io non lo userei mai....ciao ciao

sono un fesso con una tastiera in mano
62 messaggi dal 14 febbraio 2001
www.frisullo.it
dipende dal tipo di database e dalla chiamata al database.

Dovresti fare dei tentativi, uno di questi è tradurre la data in stringa nel seguente modo: "aaaa-mm-gg"
ossia:
prendi la varData e da questa ricavi:

giorno = Day(varData)
mese = Month(varData)
anno = Year(varData)

e costruisci la data da passare nell'SQL come

datastringa = anno & "-" & mese & "-" & giorno

quindi nella chiamata SQL scriverai:

sql_query = "SELECT Nominativo WHERE DATAIN = '" & datastringa & "'"


prova così...

Lucio
E serializzare le date?

"This message was written using 100% recycled electrons"

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.