196 messaggi dal 02 agosto 2007
Salve,
se eseguo la query qui sotto mi ritorna 0(zero); eppure tutti i record nella tabella hanno una data compresa tra 28/09/2007 e 02/12/2007
Mi aiutate??

select COUNT(DISTINCT(serial_number)) AS totale from riparazioni_ict
where data >= 28/09/2007 and data <= 02/12/2007

Ciao

Massimiliano
194 messaggi dal 13 dicembre 2005
se invece di seezionare il count selezioni il valore ti da comunque problemi??:

select serial_number from riparazioni_ict
where data >= 28/09/2007 and data <= 02/12/2007
196 messaggi dal 02 agosto 2007
si....non mi seleziona nessun elemento.
Come è possibile!!?? il databasa è sqlserver
Ciao
Modificato da maxxasp il 26 novembre 2007 14.31 -

Massimiliano
196 messaggi dal 02 agosto 2007
Ho risolto....devo mettere le date tra apici:

select COUNT(DISTINCT(serial_number)) AS totale from riparazioni_ict
where data >= '28/09/2007' and data <= '02/12/2007'

Massimiliano
194 messaggi dal 13 dicembre 2005
Consiglio personale per la portabilità di SQL:
lo standard ansi sql per le date è yyyyMMdd; questo vuole dire che se cambia la lingua del sistema operativo o quella dello user che si collega a SQL il formato della data viene riconosciuto; quindi ti consiglieri di formattare le date con

select serial_number from riparazioni_ict
where data >= '20070928' and data <= '20071202'

Ciao
Laura
196 messaggi dal 02 agosto 2007
Grazie mille!!

Un'altra domanda: se io volessi sapere il totale dei serial_number in un certo periodo con operazione 0224 e fpy= 'si'; ho provato con questa query:

select COUNT(DISTINCT(serial_number)) AS totale
from storico_produzione where data_lettura >= '26/11/2007'
and data_lettura <= '26/11/2007' and operazione = 0224 and fpy = 'si'

RISULTATAO ERRATO(TOTALE = 0)

Metre se al posto dell'and tra le due date metto l'or in questo modo:

select COUNT(DISTINCT(serial_number)) AS totale
from storico_produzione where data_lettura >= '26/11/2007'
or data_lettura <= '26/11/2007' and operazione = 0224 and fpy = 'si'

RISULTATAO Esatto(TOTALE = 12)

Ma nn sarebbe giusto utilizzare l'and che è la condizione per cui voglio che entrambe le condizioni devono essere verificate??
Ciao e grazie

Massimiliano
194 messaggi dal 13 dicembre 2005
credo che sia sempre il problema degl'apici:
operazione = '0224'.


Comunque è giusto l'operatore logico and perchè il risutato è logico se tutte e tre le condizioni rispettao l'uguaglianza
196 messaggi dal 02 agosto 2007
ma nella seconda query, come nella prima, nn uso gli apici per il campo operazione, lo puoi notare dai post precedenti.
Allora come mai si verifica questa situazione?
ciao

Massimiliano

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.