Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61

    [SQLServer] prb datetime

    Cia a tutti!

    Ho questo problema: voglio inserire in un campo di tipo datetime un valore del tipo '12:30', '15:45',... ossia un orario. Se faccio l'inserimento da Enterprise manager mi inserisce correttamente i valori (mettendo '12.30.00') invece facendo l'inserimanto tramite query mi inserisce '01/01/1900 12.30.00'. Perchè? Come faccio a dirgli di inserire solo l'orario?

    La query che faccio è questa:

    codice:
    if not exists(select * from Permessi where idUtente=1 and idArea=1 and idCategoria=1) insert into Permessi (idUtente,idArea,idCategoria,orarioDa,orarioA) values (1,1,1,CONVERT(VARCHAR,'11:00',108),CONVERT(VARCHAR,'12:40',108))
    C'è qualcuno che mi sa dare qualche indicazione?

    Cià!!!
    Sergio

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    up

  3. #3
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Non esiste un campo solo Time; esiste solo il DateTime, quindi se non metti la data ne mette lui una di default, appunto il 1/1/1900

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    ok... allora mi spieghi come mai se inserisco da Enterprise manager mi prende solo l'ora senza metterci la data davanti? Se funziona così vuol dire che è possibile anche tramite query. O no?

    Cia!

  5. #5
    Come già suggerito da comas17 non esiste un campo "time" ma solo "datetime". Per il server è necessario inserire comunque una data. Infatti nel tuo caso, come vedi, ha inserito la data di default ai primi del 1900.
    Se dall'enterprise ti fa aggiungere il campo solo con l'orario è semplicemente perché questo strumento automaticamente inserisce la data di default. E sempre l'enterprise ti omette la data e ti visualizza l'ora in fase di visualizzazione dei dati. Alla fine cmq nel db ci sono sia la data che l'ora.

    Se provi a fare una query di tutti i record della tabella vedrai che anche gli orari inseriti dall'enterprise hanno la data 01/01/1900 (la query però falla dal query analizer ad esempio).

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    giuda ballerino... avete ragione... quello stronzo dell'Enterprise manager mi stava pigliando per il culo

    come potrei fare per avere solo l'orario? posso definire un tipo personalizzato (UDT)? come si fa?

    grazie
    cià!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.