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

Poner formato corto fecha por defecto al añadir un registro

Estas en el tema de Poner formato corto fecha por defecto al añadir un registro en el foro de SQL Server en Foros del Web. Hola, Estoy trabajando con SQL Server (Express) y encesito, que los formatos de fechas que añada sean del tipo DD/MM/YYYY, al definir el atributo en ...
  #1 (permalink)  
Antiguo 21/01/2009, 06:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 26
Antigüedad: 16 años, 2 meses
Puntos: 0
Poner formato corto fecha por defecto al añadir un registro

Hola,

Estoy trabajando con SQL Server (Express) y encesito, que los formatos de fechas que añada sean del tipo DD/MM/YYYY, al definir el atributo en la tabla solo tengo para escoger entre datetime y smalldatetime, pero estos me añaden la hora y el mes en letras y tal... la solución que tengo es cambiarlo a un varchar y enviar la fecha directamente a la base de datos... pero... no me acaba de convencer.

Otra cosa que queria preguntar es cómo va el tema de operaciones con fechas, ya que tengo que hacer una consulta que me saque los registros en los que se cumpla lo siguiente:
X --> Fecha Creacion registro
Y --> Fecha en el momento de hacer la consulta

Y - (1 día) < X < Y

O sea que la fecha de creación sea entre "ayer" y "hoy"

Muchas gracias por todo,

Saludos,

Iván
  #2 (permalink)  
Antiguo 21/01/2009, 06:41
 
Fecha de Ingreso: marzo-2008
Mensajes: 26
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Buenas, la primera parte ya la conseguí, con:

CONVERT(varchar(10), GETDATE(), 003)

a alguien se le ocurre como podría hacer al comparación en la consulta SQL teniendo esos datos? para este tipo de fecha (21/01/09) comprarlo con el día anterior, muchas gracias!

Saludos!
  #3 (permalink)  
Antiguo 21/01/2009, 17:58
Avatar de michael_045  
Fecha de Ingreso: enero-2009
Mensajes: 13
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Poner formato corto fecha por defecto al añadir un registro

K tal mi buen,
espero k esto te sirva
-----------------------------
select * from tu_tabla where fecha_creacion between dateadd(dd,-1,getdate()) and getdate()
-----------------------------

Salu2.
  #4 (permalink)  
Antiguo 21/01/2009, 20:26
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Poner formato corto fecha por defecto al añadir un registro

En lugar de BETWEEN, aconsejo se utilice:

select * from tu_tabla
where fecha_creacion >= dateadd(dd,-1,getdate()) and fecha_creacion <= getdate()

Tendra un mayor tiempo de respuesta con una cantidad considerable de registros.
  #5 (permalink)  
Antiguo 21/01/2009, 21:34
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Hola tengo un problema "similar", no deseo que sqlserver me guarde dd/MM/yyy HH:mm uff, al final no entendí como lo solucionaste. Sigues pasandolo a varchar antes de guardar?.
Que hace exactamente CONVERT(varchar(10), GETDATE(), 003)? Gracias
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
  #6 (permalink)  
Antiguo 21/01/2009, 21:49
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Poner formato corto fecha por defecto al añadir un registro

normandos

Si no cuentas con SQL SERVER 2008, es IMPOSIBLE que versiones anteriores te almacenen campos de fecha con formato corto, ya que el formato utilizado es ANSI (yyyymmdd hh:mm:ss, nnn).

Si lo que deseas, es una vez guardado el dato, solo visualizar "parte" del campo fecha, entonces debes utilizar CAST/CONVERT, ejemplo:

SELECT CONVERT(CHAR(10), GETDATE(), 112)

Esto te dara como resultado:

20090121

O bien, revisa este ejemplo:

SELECT CONVERT(CHAR(5), GETDATE(), 108)

Resultado:

21:48
  #7 (permalink)  
Antiguo 21/01/2009, 21:52
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Gracias iislas, pero disculpa de nuevo mi pregunta aunque parezca obvia. En la BD (SQLServer 2005) debo "guardar" las fechas como tipo fecha o texto?
Gracias
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
  #8 (permalink)  
Antiguo 21/01/2009, 22:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Te recomiendo NUNCA utilizar campos TEXTO, para guardar fechas, como NUNCA utilizar FLOAT para guardar DECIMALES.

Fechas: DATETIME --- o SMALLDATETIME
Decimales: DECIMAL(e,d)

Para cada tipo de dato, existe un tipo de CAMPO.

Saludos
  #9 (permalink)  
Antiguo 21/01/2009, 22:52
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Muchas gracias iislas. Tus consejos (y clases) han sido de gran ayuda!
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
  #10 (permalink)  
Antiguo 22/01/2009, 04:49
 
Fecha de Ingreso: marzo-2008
Mensajes: 26
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Muchas gracias por todo iislas, ahora mismo probaré a ver si soluciono ya la consulta esta... me has librado de más de un dolor de cabeza!

Saludos,

Iván
  #11 (permalink)  
Antiguo 22/01/2009, 07:21
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Poner formato corto fecha por defecto al añadir un registro

Estamos para apoyarnos y que bueno que ha servido de algo mis comentarios, saludos
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




La zona horaria es GMT -6. Ahora son las 21:05.