Tipo di dato datatime

martedì 06 marzo 2007 - 19.27

Giovanni_3478 Profilo | Senior Member

Ciao

Ho una aspx un controllo textbox in cui inserisco una data 20/04/1980
che voglio salvare nel db.

Nel campo "data_di_nascita" della tabella "info" ho impostato come tipo di dato datetime.

Quando vengono salvati i dati nel db oltre alla data
viene salvata anche l'ora (non so relativa a cosa).

Per salvare solo la data come bisogna procedere?
Che tipo di dato bisogna usare?

alx_81 Profilo | Guru

>Ciao
>
>Ho una aspx un controllo textbox in cui inserisco una data 20/04/1980
>che voglio salvare nel db.
>
>Nel campo "data_di_nascita" della tabella "info" ho impostato
>come tipo di dato datetime.
>
>Quando vengono salvati i dati nel db oltre alla data
>viene salvata anche l'ora (non so relativa a cosa).
L'ora, se non indicata è la mezzanotte della data indicata
>
>Per salvare solo la data come bisogna procedere?
>Che tipo di dato bisogna usare?
Innanzitutto dobbiamo sapere che DBMS utilizzi.. SQL Server?
Comunque sia, in linea teorica, il datetime o lo smalldatetime per SQL Server sono il tipo di dato corretto per i campi nei quali salvare la data. Per definizione (anche il nome datetime lo indica infatti) la data viene salvata per intero, comprensiva dell'ora ed è corretto così.
Se non la indichi nel comando, viene considerata con la mezzanotte e questa impostazione non ti darà problemi, quindi, fossi in te non mi preoccuperei. Il tipo di dato corretto è tra quei due che ti ho indicato..

Alx81 =)

http://blogs.dotnethell.it/suxstellino

Giovanni_3478 Profilo | Senior Member

Sì uso Sqlserver 2005 express

Grazie mille

fabiogvn Profilo | Newbie

Ho appena finito di perderci mezzo pomeriggio, quindi ti do la mia soluzione "a caldo" :-)

Anche se nel database c'è memorizzata l'ora, basta che nella SELECT leggi la data usando la funzione CONVERT di sql

Esempio:

SELECT CONVERT(char(10), CampoData, 105) FROM Tabella

e ti verrà restituita solamente la data

105 è il codice per avere il formato data normalmente utilizzato in Italia, ovvero gg-mm-aaaa

alx_81 Profilo | Guru

>Ho appena finito di perderci mezzo pomeriggio, quindi ti do la
>mia soluzione "a caldo" :-)
>
>Anche se nel database c'è memorizzata l'ora, basta che nella
>SELECT leggi la data usando la funzione CONVERT di sql
>
>Esempio:
>
>SELECT CONVERT(char(10), CampoData, 105) FROM Tabella
>
>e ti verrà restituita solamente la data
>
>105 è il codice per avere il formato data normalmente utilizzato
>in Italia, ovvero gg-mm-aaaa

Ciao!
Leggiti questo tip di Lorenzo Benaglia

http://www.dotnethell.it/tips/SQLServerDates.aspx

Spero possa esservi utile

Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5