Formattare una data.

giovedì 24 agosto 2006 - 10.28

wolf Profilo | Junior Member

Ciao a tutti, ho il seguente problemino. In una pagina asp.net c'è un datagrid che visualizza le informazioni prelevate da una tabella di un DB SQL Server. In una colonna della tabella vi sono scritte delle date ma il campo è stato formattato come testo. Di conseguenza quando il datagrid richiama i valori e li ordina in base alla data si ottiene un ordinamento in base ai caratteri della stringa e non in base al tempo.
Es: 10/05/2000 viene prima di 20/08/1900.
Come posso rimediare senza dover toccare la struttura ed i dati della tabella?
Grazie fin da ora per il vostro aiuto.

bluland Profilo | Guru

Se ho capito bene le date non vengono messe in ordine temporale??

se è cosi scusa nella tua query potresti fare GROUP BY campodata...

saluti

Enzo

Brainkiller Profilo | Guru

Ciao il tipo di dati della colonna sul database è un char/varchar invece di un datetime ?

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

wolf Profilo | Junior Member

si, nella tabella il campo della data è di tipo varchar e non datetime, purtroppo.

bluland Profilo | Guru

AH allora avevo capito male....cosi non dovrebbe funzionare il GROUP BY

Brainkiller Profilo | Guru

>si, nella tabella il campo della data è di tipo varchar e non
>datetime, purtroppo.

Nella query formatta durante la Select la data in un tipo dati datetime.

esempio

select cast(campo_data as datetime) from ...

Se non te lo fa puoi prima convertirla con CONVERT in un altro formato e poi fare un CAST.
Prova così.

In ogni caso il consiglio è di creare una nuova colonna di tipo data e riportare le date dalla colonna varchar.
Ciao


David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5