SQL - Como trabajar con sólo horas y no fechas en SQL SE

 
Vista:

Como trabajar con sólo horas y no fechas en SQL SE

Publicado por Carlo (3 intervenciones) el 27/10/2005 19:13:30
Hola amigos, el problema que tengo al diseñar un Procedimiento almacenado fue que deseo comparar solo horas dentro de un mismo dia utilizando el getdate para la actual..y otra predeterminada..siempre toma la fecha ,por favor como podria solamente trabajar con el formato de hora hh:mm:ss no hablo de la funcion day() o Hour(),etc,etc, si no de una funcion que de solo la hora del datetime.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como trabajar con sólo horas y no fechas en SQL

Publicado por Isaías (5072 intervenciones) el 27/10/2005 20:21:29
SELECT convert(char(8), getdate(),108)

Pero tanto como hacer COMPARATIVOS, entonces tienes la funcion:

DATEDIFF()

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como trabajar con sólo horas y no fechas en SQL

Publicado por Carlo (3 intervenciones) el 27/10/2005 23:38:07
Excelente...Amigo

SELECT @HoraNominal = convert(char(8),H.dtHora,108)
Set @HoraActual = convert(char(8), getdate(),108)
Set @Diferencia = @HoraActual -@HoraNominal

Y en realidad esta funcionando, pero al guardarlo en Base de Datos :

Insert Tabla
Values(convert(char(8), @Diferencia,108)), igual si le pongo sólo @diferencia

al revisar la tabla encuentro el valor:

01/01/1900 16:33:18

Bueno la primera parte es constante (la fecha), la siguiente es en realidad la resta de las horas...eso ya es mucho...

pero como podria guardarlo en el formato de hora simplemente..? o no se puede? (el formato no es date ni time es datetime)

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como trabajar con sólo horas y no fechas en SQL

Publicado por Isaías (5072 intervenciones) el 28/10/2005 16:11:31
Carlo

SQL Server, como otros motores de bases de datos, almacena las fechas en formato ANSI.

yyyy-mm-dd hh:mm:ss.nnn

Por lo que no puedes guardar solo las horas, a menos que lo hagas en un VARCHAR (pero no se considera como FECHA-HORA).

Existen muchas funciones para el tratamiento de fechas:

DATEADD()
DATEDIFF()
CAST o CONVERT

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como trabajar con sólo horas y no fechas en SQL

Publicado por Carlo (3 intervenciones) el 03/11/2005 16:08:33
Isaias y si quisiera trabajar con fechas utilizaría esto:?

Set @Fecha = convert(char(8), getdate(),103) ???

La pregunta concreta sería existe otra manera mas precisa de hacerlo, ejemplo, en vez de utilizar char utilizar formatos numericos para luego restar o sumas mas adecuadamente?, pues con el DIFF o ADD no consigo la flexibilidad que necesito

Saludos y gracias
Carlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar