View Full Version : [T-SQL]Datetime
Uso MsSQL 8 ed ho un campo in una tabella il cui formato è datetime, devo fare qua query in cui devono ritornarmi solo le tuple di un determinato giorno ma con qualsiasi ora:
SELECT * FROM ordini WHERE Data LIKE '200060619%'
non funziona. So che sono problemi di dateformat però non so come impostarlo ne verificare che impostazioni ci sono. Chi mi da una mano a capire? Anche perchè è talmente incasinata la gestione delle date...
puoi provare con un convert() credo
SELECT * FROM ordini WHERE Data = CONVERT(datetime, '19/06/2006', 105)
Così funziona ma il recordset è vuoto perchè l'ora è diversa da 00:00:00.000 infatti i problemi li ho avuti quando ho inserito l'ora.
ollora taglia la testa al toro e predi tutti i recor maggiori di ieri e minori di domani
ollora taglia la testa al toro e predi tutti i recor maggiori di ieri e minori di domani
Infatti ho sisolto così anche se no se so mare bona come diciamo dalle mie parti.
Grazie
domani vedo se ti trovo una soluzione più cool ;)
La query come l'avevi scritta tu non ti funzionava, probabilmente, perchè provavi a confrontare una Data con una striga
leggendo un po' di documentazione su CONVERT() forse ho trovato una soluzione che potrebbe piacerti
SELECT * FROM ordini WHERE convert(varchar(8), Data, 112) = '20060619'
Praticamente converti la data in un formato senza ora
Non funziona.
Che documantazioni usi?
Non funziona.
Che documantazioni usi?
quella di MSSQL server
Che errore ti da?
convert(varchar(8), Data, 112)
dovrebbe formattare la data nel formato yyyymmdd
Per capire meglio che problema hai potresti postarmi l'output di questa query? (mi mastano 2 3 righe)
SELECT convert(varchar(8), Data, 112), Data FROM ordini
Non mi da nessun errore solo non ritorna nulla.
HAi guardato che output ti da la query che ti ho scritto prima?
L'output è vuoto.
Funziona con ...data>'20060619' and data<'20060620'
il problema ora è come dirgli maggiore del giorno dopo passandogli un solo parametro.
PS:la guida sul mssql è un libro? Dove posso trovare le info su internet?
L'output è vuoto.
Funziona con ...data>'20060619' and data<'20060620'
il problema ora è come dirgli maggiore del giorno dopo passandogli un solo parametro.
PS:la guida sul mssql è un libro? Dove posso trovare le info su internet?
Intendevo questa query
SELECT convert(varchar(8), Data, 112), Data FROM ordini
Ho l'help in linea, non ho libri
Risultato della query :
SELECT convert(varchar(8), Data, 112), Data FROM ordini
Resultset 1
Data
------------------ ------------------------------------------------------
20060301 2006-03-01 00:00:00.000
20060902 2006-09-02 00:00:00.000
20060616 2006-06-16 11:00:00.000
Come faccio a convertire un int in stringa mantenendo la formattazione a 2 cifre? Cioè il numero 1 convertirlo in stringa "01"?
Stano che non ti funzioni la query che ti ho scritto, perchè il la conversione viene fatta correttamente...
Per convertire un intero instringa via SQL formattandolo devi lavorare con CAST e poi ci aggiungi gli zeri che mancano, ma sei sicuro che lo devi fare con SQL?
In realtà uso ADO in vb6 ma non mi va di scrivere del codice per calcolare il giorno suvccessivo, pensavo esistesse una funzione che mi permetta di dirgli il giorno dopo di una tal data.
Uso anche il Dba Manager 2K per provare le query e intervenire sul db.
:muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:
Come si fa a sbagliare na cosa così stupida!! Sbagliavo a passare un parametro così che il confronto non ritornava nulla perchè non cera nulla inquella data.
Grazie Duncan anche perchè ho capito un po' meglio come gestire le date.
:muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:
Come si fa a sbagliare na cosa così stupida!! Sbagliavo a passare un parametro così che il confronto non ritornava nulla perchè non cera nulla inquella data.
Grazie Duncan anche perchè ho capito un po' meglio come gestire le date.
Figurati, comunque quando ti dicevo se eri sicuro di usare SQL era riferito a formattare le gli interi nella forma 01 ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.