Newsgroup: it.comp.www.asp
Titolo: SQL Server: campo query su campo date/time

SELECT * FROM contabil WHERE data_operazione=03/04/00
questa query mi restituisce il seguente errore:
Server: Msg 8134, Level 16, State 1, Line 1
Divide by zero error encountered.
se provo a farla in questo modo nemmeno va :
SELECT * FROM contabil WHERE data_operazione=#03/04/00#
come posso fare per applicare delle condizioni ai campi date/time?
Grazie mille


Mi sembra strano con errore visto che la seconda linea mi sembra corretta.
Prova a mettere l'anno in formato intero:
SELECT * FROM contabil WHERE data_operazione=#03/04/2000#


se faccio come dici tu con l'anno '2000'  funziona ma il recordset č vuoto
perchč tutti i campi data nella tabella hanno la data con l'anno in formato
breve '00'.
Aiutatemi.
Luca


Anche a me una volta è capitato che mi venivano visualizzate le date in
formato breve. Ho fatto così:
impostazioni->pannello di controllo->impostazioni internazionali
e dala scheda "Data" ho scelto nel campo "formato data breve" la voce
"gg/mm/aaaa"
Ma il perché non te le inserisca è un mistero perché la sintassi è esatta.
Prova, ma non vorrei sbagliarmi, a inserire la data nel formato mm/gg/aaaa.
Ciao!
Andrew

Prova, ma non vorrei sbagliarmi, a inserire la data nel formato mm/gg/aaaa.
Premesso che ho impostato la data nel pannello di controllo nel formato
mm/gg/aaaa.
e premesso che se faccio la seguente query:
SELECT * FROM contabil WHERE data_operazione=#12/04/2000#
ottengo:
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '#'.
se lancio questa query :
SELECT * FROM contabil WHERE data_operazione=12/04/2000
ottengo 0 records trovati nonostante abbia campi con quella data.
Come è possibile?


SELECT * FROM contabil WHERE data_operazione=04/12/2000
Scrivi la data in formato nese, giorno, anno!


Ops! Aggiungo:
Nel pannello di controllo e in impostazione internazionali, il separatore di
data dev'essere "/"! O devi cambiare la sinstassi qui sopra!
Ciao


L'ho fatto ma il recordset è vuoto non rileva alcun record con quella data
nonostante ci siano.
forse la visualizzazione della data da SQL Server ti puo far venire in mente
qualcosa?
 data_operazione                   note
----------------------------------------------------------------------
2000-04-04 00:00:00.000     pagamento
scusa se ti sto dando fastidio, ti ringrazio molto per la pazienza e
l'interesse.
Luca

2000-04-04 00:00:00.000     pagamento
scusami se non ti do' la soluzione in mano, ma spingo sempre le
persone a studiare la documentazione! :-))
se stai parlando di sqlserver 7, quando si parla di date usa sempre la
funzione CONVERT() nella stringa sql; questa funzione ti consente di
dichiarare il formato di quello che stai scrivendo e come vorresti che
sqlsrv7 lo interpretasse:
CONVERT(datetime,20/02/2000,103)
vedi i Books Online di SQL Server7. non ho avuto molto a che fare con
la versione 6.x, quindi non so' se la funzione č presente anche lě!
--------
MATRO
YahooMessenger:matrello, Icq:matro
RealPopup, the freeware winpopup replacer
http://members.tripod.com/Matro/realpopup.html

Ragazzi finalmente ho risolto:
la gestione sotto vbscript gli è la devo fare in ITA mentre per SQL in USA
SELECT * FROM contabil WHERE data_operazione='mm/dd/yyyy'
prima me lo trasformo in formato USA e poi gli è lo passo come testo.
perche funziona solo se gli è lo passo come testo?
se tolgo gli apici il recordset risulta vuoto.
Ciao e grazie per il vostro interessamento.