Pero quello non è un reale formato "datetime"
bensi è un formato testo a cui è stata applicata la " formattazione " data
potresti avere 35-02-2011 fra le date
( e non lo puoi neanche ordinare in crescente/desc )
__________________________________________________ ____
se vuoi un vero datetime devi usare un ulteriore CAST
quindi la query che ci proponi diventa:
codice:
CAST(RIGHT ('00' + CAST(giorno AS varchar(2)), 2) + RIGHT ('-', 1) + RIGHT ('00' + CAST(mese AS VARCHAR(2)), 2) + RIGHT ('-', 1) + CAST(anno AS VARCHAR(4)) AS datetime)
oppure io farei cosi: ( ma è solo una questione di gusto )
codice:
CAST(CAST(giorno AS varchar) + N'/' + CAST(mese AS varchar) + N'/' + CAST(anno AS varchar) AS datetime)
Ma dopo queste 2 query ti vanno in errore se un utente ti scrive 32-01-2011
__________________________________________________ _____________
Una domanda, perche nel tuo codice metti: " RIGHT ('-', 1) "
e non semplicemente " N'-' " ?????