RE:Error de respuesta MIL DISCULPAS
Primeramente mil disculpas ya que la informacion que te envie originalmente tiene errores, conceptuales los comandos son los correctos, pero mejor dejame explicarte mejor el tratamiento que hace SQL Server a las fechas.
1. como almacena SQL Server las fechas
SQL Server utiliza 8 bytes para almacenar el valor de una variable datetime, los primeros 4 para el dia y los siguientes 4 para la hora, los mismos que almacenan valores enteros, para la fecha almacena el numero de dias antes o despues del 01/01/1900, y para la hora cada segundo que pasa despues de la media noche almacena el valor de 300 osea que para el primer segundo sera 300 para el segundo 600 y asi ............
2. Ahora como hace la presentacion de las fechas SQL Server si almacena en un formato diferente??
la pregunta del millon de dolares
Si te fijas en la siguiente instruccion y lo ejecutas en el analizador de consultas
DECLARE @date DATETIME
SELECT @date = GETDATE ()
SELECT @date
Veras que el formato que te devuelve es YYYY-MM-DD HH:MM:SS ..
pero este formato no es del SQL Server es del ODBC ya que el analizador de consultas es una herramienta que utiliza ODBC para comunicarse con el SQL Server si ejecutas la misma instruccion en el isql ( herramienta de linea de comando) veras que el resultado es diferente tiene el formato MM-DD-YYYY HH:MM ya que utiliza el DB-Library para comunicarse.
En conclusion depende que utilizes para comunicarte para obtener un formato de fecha.
Sobre el comandos CONVERT es valido ya que este comando cambia la variable o valor de un tipo fecha a un string y SQL Server envia el string tal cual.
Mil disculpas por la anterior in