thousands number funcion convert sql-server-2005 sql-server-2008 types

sql-server-2005 - number - sql convert



Time DataType en Sql Server 2005 (3)

Creé una base de datos pequeña en SQL Server 2008 . Ahora quería moverlo a SQL Server 2005 y no funciona, ya que no tiene el tipo de datos Time . ¿Qué opción tengo para almacenar solo el tiempo en SQL Server 2005. He escrito una pequeña aplicación TimeSheet que necesita escribir horas y minutos principalmente en formato como 05:30:00 (hh: mm: ss) pero ss es opcional.


Lamentablemente, no hay ningún tipo de datos Time en SQL Server 2005. Lo que sugeriría hacer para convertir sus datos existentes a su instancia de SQL Server 2005 es usar algo como esto:

Select CONVERT(DateTime, YourDateTimeColumn, 114) AS [HH:MI:SS:MMM(24H)] From YourTable

Esto le dará su fecha actual CON el tiempo de los datos existentes. Tendrás que quitar la fecha de alguna manera al recuperar los datos. Esto se puede hacer usando una función de Formato en C # (o cualquier otro lenguaje .NET que pueda estar usando ... suponiendo que lo esté haciendo)

Espero que ayude.


SQL Server 2005 admite el tipo de datos DATETIME, que también incluye tiempo. Para almacenar solo la hora, puede usar la instrucción CONVERT:

SELECT CONVERT(DATETIME, ''11:22:33'')

No es óptimo, porque la parte de fecha no se usa, pero aún ocupa espacio de almacenamiento. Pero, de nuevo, degradar una base de datos a una versión anterior nunca es óptimo.


  • Ninguna. Fuera de la caja.
  • Hágalo usted mismo utilizando un tipo personalizado basado en CLR.
  • Vive con ello.

Para una hoja de tiempo, yo personalmente preferiría NO tener un campo de tiempo, sino almacenar el tiempo como DateTime siempre: lo hace más fácil en las consultas.