Problema con datetime

mercoledì 19 gennaio 2005 - 17.03

poldo000 Profilo | Newbie

Ciao a tutti.Ho un problema col formato smalldatetime di sql server.in poche parole, come faccio ad eliminare la parte relativa all'ora visto che mi interessa solo la data? non vorrei farlo da codice visual basic (asp). vorrei che già le query mi restituissero le date in questa maniera. GRAZIE!!

Brainkiller Profilo | Guru

Ciao,
pensa che stavo lavorando proprio ieri a questa cosa.
In genere puoi usare il comando CONVERT di T-SQL per convertire un tipo dati in un altro.
Esempio:

select convert(nvarchar,getdate(),103)

Se la lanci oggi questa stampa:

19/01/2005

alla stessa maniera invece di passare getdate() (ora corrente) passi un nome di colonna di una tabella e avrai ciò che desideri.

ciao
david

poldo000 Profilo | Newbie

Sì,questa potrebbe essere una soluzione. Nasce però un altro problema.risolvimi anche questo!!!
Facendo così non posso più fare l'order by data.sarebbe un order by varchar,se lo converto in varchar.e non è la stessa cosa.in questo modo 01/02/01 verrebbe prima di 10/02/01 perchè l'ordinamento lo fa su 01 e 10.
quindi??non c'è un modo x levare l'ora e laciarlo comunque datetime?

Brainkiller Profilo | Guru

Rifai un cast in questo modo:

cast(convert(nvarchar,createddate,103)as datetime)

oppure puoi anche ordinare usando non necessariamente la colonna trasformata in varchar ma la colonna stessa. La colonna varchar ti serve solo per stampare da qualche parte il risultato in modo formattato.

ciao
david
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5