Cómo formatear las fechas en una declaración SQL

Cuando ejecuto un select * declaración obtengo dos formatos de fecha diferentes.

¿Cómo formatearía todos los días sin llamar específicamente a las columnas de fecha?

preguntado el 08 de noviembre de 11 a las 15:11

¿Cuáles son los dos formatos y cuáles son los dos tipos de columnas en su base de datos? -

Si no va a proporcionar, y si es necesario, formatear, una lista de columnas, está confiando en el esquema subyacente para definir lo que se devuelve. -

¿Y dónde ves la salida? ¿Después de mostrar con C # o es solo en Management Studio? -

Esto no responde a su pregunta, pero no utilice "SELECT *" sin una muy buena razón. Solo recupere las columnas que necesita y nada más. -

Select * es un antipatrón SQL y no debe usarse en el código de producción incluso cuando desee todas las columnas. Y nunca debe usarse si tiene una combinación, ya que se repite al menos una columna. Eso solo desperdicia los recursos de la red y del servidor sin ningún motivo. Honestamente, ¿qué tan difícil es arrastrar las columnas desde el navegador de objetos? -

1 Respuestas

Sin cambiar los tipos de datos subyacentes de sus fechas, no puede, desde SQL, manipular el formato del conjunto de registros sin hacer explícitamente una conversión / conversión en su selección:

SELECT CAST(SomeDate1 as DATETIME), CAST(SomeDate2 as DATETIME) FROM User

O usando CONVERT:

SELECT CONVERT(VARCHAR, SomeDate1, 101), CONVERT(VARCHAR, SomeDate2, 101) FROM User

Suponiendo que 101 es el formato que desea (consulte MSDN para los distintos formatos).

respondido 08 nov., 11:19

Sugiero el formato 121 como el más confiable / universal CONVERT(varchar(23), someDate, 121) da '2012-01-25 15: 09: 23.003'. Se clasifica de forma sensata como texto y se convierte de forma fiable a una fecha y hora independientemente de la configuración regional. - Ben

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.