Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Trabajando con fechas

Estas en el tema de Trabajando con fechas en el foro de SQL Server en Foros del Web. Buenas estoy empezando a trabajar con fechas en SQL Server y algo tan simple como sumar un mes a una fecha no consigo verlo Es ...
  #1 (permalink)  
Antiguo 25/11/2008, 03:51
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Trabajando con fechas

Buenas estoy empezando a trabajar con fechas en SQL Server y algo tan simple como sumar un mes a una fecha no consigo verlo

Es decir si tengo un datetime

declare @fechaInicial datetime


set = @fechaInicial + 1 , esta es la forma que he visto para sumar dias , pero para sumar meses como seria ?

gracias radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #2 (permalink)  
Antiguo 25/11/2008, 07:50
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Trabajando con fechas

La correcto seria: set @fechaInicial = @fechaInicial + 1
Para meses podrias sumarle 30 dias, pero seria mejor usar la funcion DATEADD.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 25/11/2008, 10:52
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Trabajando con fechas

Amigo flaviovich

Con todo el respeto que usted me merece, ahora vi voy a disentir con su consejo.

Yo creo que si el sumar fechas fuera tan sencillo como hacer un simple:

set @fechaInicial = @fechaInicial + 1

¿Para que entonces se molestaron en desarrollar la funcion DATEADD?

Saludos
  #4 (permalink)  
Antiguo 25/11/2008, 11:07
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Trabajando con fechas

Esa es la misma pregunto que yo me hago al ver que funciona una simple suma con una variable del tipo datetime. En 2005 no he probado si funciona, pero en 2000 si.
DATEADD no solo agrega dias, sino meses, años, etc. Asi que ahi hay una diferencia.
Aprovecho para expresar mis respetos por ti.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 25/11/2008, 14:34
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Trabajando con fechas

Oigan pero realmente si le sumo un escalar numérico a una variable tipo fecha, lo que me suma son días. Funcionalmente es lo mismo.

habría que ver cuales serían las diferencias
__________________
Yo quiero ser el pelucón del barrio
  #6 (permalink)  
Antiguo 25/11/2008, 15:04
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Trabajando con fechas

Si, a mi no me gusta sumar asi los dias a una fecha...

Siempre uso la function DateAdd...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 25/11/2008, 15:31
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Trabajando con fechas

Creo que queda a criterio de cada uno el uso de esa forma.
Pongamos un caso, que tal si tienes varios millones de registros y necesitas aumentar 1 dia a una fecha, en teoria pienso que con dateadd demorará más.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 25/11/2008, 15:36
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Trabajando con fechas

Pero en el caso de tener varios millones de registros... de que demora, demora. Pero tal vez la función por ser una función propia de sql server y no una forma "artesanal" como la de sumarle 1 puede que demore menos, tal vez
__________________
Yo quiero ser el pelucón del barrio
  #9 (permalink)  
Antiguo 25/11/2008, 15:53
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Trabajando con fechas



Asi es, porque como quiera no se trata de un simple mas 1, porque de hecho te regresa fechas validas, entonces supongo que el compilador debe traducirlo en el uso de alguna funcion..

Aunque si estaria bien probarlo con millones de registros y checar las cifras, jjejejeje



Saludos a todos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #10 (permalink)  
Antiguo 25/11/2008, 16:56
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Trabajando con fechas

Segun aprendi en la universidad, la suma implica un operador por parte del microprocesador, es decir, aumenta un valor a otro y eso es todo. En cambio usar una funcion como dateadd, implica por lo menos 2 operadores, ahi ya tenemos el doble de tiempo, claro que microsegundos, pero multiplica por millones de registros.
Por eso digo, su uso queda a criterio de cada uno.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:24.