in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

Query con una data

Ultimo messaggio ricevuto il 24-05-2006 0.11 da devspy. 3 risposta(e).
Pagina 1 di 1 (4 elemento/i)
Ordina messaggi: Precedente Successivo
  • 23-05-2006 17.23

    • Vicus
    • Utente Top 500
    • Registrato il 23-05-2006
    • Messaggi 2

    Query con una data

    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...
    • Log
  • 23-05-2006 17.45 In risposta a

    Re: Query con una data

    Prova con:

    SELECT * FROM ordini WHERE Data = '06/19/2006';

    ovvero, definisci la data come 'MM/GG/AAAA'. E siccome non indichi nessun orario, l'ora viene semplicemente ignorata.

    Un'alternativa, a titolo di esempio, basata sulle funzioni T-SQL:

    SELECT * FROM ordini WHERE YEAR(Data) = 2006 AND MONTH(Data) = 6 AND DAY(Data) = 19;

    • Log
  • 23-05-2006 17.49 In risposta a

    • Vicus
    • Utente Top 500
    • Registrato il 23-05-2006
    • Messaggi 2

    Re: Query con una data

    Il primo esempi mi da un errore cioè non può convertire la stringa un formato datetime perchè fuori dall'intervallo mentre il secondo funziona ma la query non ritorna nulla
    • Log
  • 24-05-2006 0.11 In risposta a

    Re: Query con una data

     Vicus wrote:
    Il primo esempi mi da un errore cioè non può convertire la stringa un formato datetime perchè fuori dall'intervallo

    Potrebbe dipendere dalle impostazioni internazionali del database (non ne sono certo). Sul mio server (SO italiano, DB inglese) la sintassi corretta è 'GG/MM/AAAA':

    SELECT * FROM ordini WHERE Data = '19/06/2006';

    Nello specifico, però, puoi risolvere il tuo problema in questo modo:

    SELECT * FROM ordini WHERE Data >= '20060619' and Data < '20060620';

    • Log
Pagina 1 di 1 (4 elemento/i)
Prelevato da http://www.devspy.com/forums/t/4181.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"