| |||
Definiendo valores datetime Saludos a todos, quisera saber si alguien tiene alguna manera sencilla de establecer los valores máximos y mínimos para un datetime en un cierto día ('2011-03-24 00:00:00.000', '2011-03-24 23:59:59.997'), por ejemplo para la fecha '2011-03-24 14:15:09.667' el tiempo exacto de inicio del dia sería '2011-03-24 00:00:00.000' y la máxina es '2011-03-24 23:59:59.997' . Yo he logrado crear un procedure pero no creo que esa sea la solución correcta. Gracias por la ayuda. |
| |||
Respuesta: Definiendo valores datetime Cita: El procedure viene a ser el siguiente, los comparto a todos. El procedure funciona muy bien, lo que me explicas lo entiendo en oracle es mas sencillo dicho formateo en la fecha pero en Sql Server 2000 no sé exactamente ese mecanismo... si lo pudieras explicar con ejemplo me serviria. Thank...CREATE PROCEDURE sp_obtenerFecha @dateRecivido datetime, @opcion int, @dateReturn datetime OUTPUT AS DECLARE @fechaSistema datetime DECLARE @auxYear int DECLARE @auxMonth int DECLARE @auxDay int DECLARE @Year varchar(4) DECLARE @Month varchar(2) DECLARE @Day varchar(2) DECLARE @fechaExtacta datetime DECLARE @fechaPrueba varchar(23) SET LANGUAGE English SET @fechaSistema = @dateRecivido SET @auxYear = YEAR(@fechaSistema) SET @auxMonth = MONTH(@fechaSistema) SET @auxDay = DAY(@fechaSistema) IF 1 = (select LEN(@auxDay)) BEGIN SET @Day = '0'+CAST(@auxDay as varchar(1)) END ELSE BEGIN SET @Day = CAST(@auxDay as varchar(2)) END IF 1 = (select LEN(@auxMonth)) BEGIN SET @Month = '0'+CAST(@auxMonth as varchar(1)) END ELSE BEGIN SET @Month = CAST(@auxMonth as varchar(2)) END SET @Year = CAST(@auxYear as varchar(4)) IF @opcion = 1 BEGIN SET @fechaPrueba = (@Year+'-'+@Month+'-'+@Day+' 00:00:00.000') END ELSE BEGIN SET @fechaPrueba = (@Year+'-'+@Month+'-'+@Day+' 23:59:59.997') END SET @dateReturn = CONVERT( datetime, @fechaPrueba) GO EJECUTAR EL PROCEDURE : DECLARE @fecha_inicio as datetime SET @fecha_inicio = getdate() DECLARE @dateInicio datetime DECLARE @dateFin datetime DECLARE @opIni int DECLARE @opFin int SET @opIni = 1 SET @opFin = 2 EXEC sp_obtenerFecha @fecha_inicio, @opIni, @dateInicio OUTPUT EXEC sp_obtenerFecha @fecha_inicio, @opFin, @dateFin OUTPUT |
| ||||
Respuesta: Definiendo valores datetime revisate esta liga tiene muy buenos tips para el manejo de fechas: http://www.sql-server-helper.com/tips/date-formats.aspx Saludos!!
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
Etiquetas: |