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

Redefinir columna DateTime para que ignore segundos

Estas en el tema de Redefinir columna DateTime para que ignore segundos en el foro de SQL Server en Foros del Web. Buenos dias, esto me urge un monton, me juego el culo. Sabeis si hay alguna forma de redefinir una columna datetime para que solo coja ...
  #1 (permalink)  
Antiguo 31/01/2006, 02:56
 
Fecha de Ingreso: octubre-2004
Mensajes: 211
Antigüedad: 19 años, 6 meses
Puntos: 2
Pregunta Redefinir columna DateTime para que ignore segundos

Buenos dias, esto me urge un monton, me juego el culo.

Sabeis si hay alguna forma de redefinir una columna datetime para que solo coja desde el año hasta los minutos, es decir que ignore los segundos.

o bien en su defecto sabeis como crear un indice de una columna datetime para que me ignore los segundos?

Por favor es urgente.

De antemano, muchas gracias por la ayuda.
  #2 (permalink)  
Antiguo 31/01/2006, 13:13
 
Fecha de Ingreso: octubre-2004
Mensajes: 211
Antigüedad: 19 años, 6 meses
Puntos: 2
Bueno al final redefiní la columna al tipo smalldatetime,

Chao
  #3 (permalink)  
Antiguo 31/01/2006, 13:16
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Muy sencillo, convierte la columna de DATETIME a SMALLDATETIME. Si no puedes cambiar el tipo de columna entonces genera una vista o campo calculado donde hagas la conversión.

SELECT Convert(SmallDateTime, fecha)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 07/08/2009, 08:32
Avatar de rgbarbieri  
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Redefinir columna DateTime para que ignore segundos

podes convertirlo de la siguiente manera y vas a recibir un recordset con el formato de fecha DD/MM/YYYY

select convert(smalldatetime,convert(varchar(10),ultimafe cha,103),103) from tabla
where campodatetime between '1900-01-01' and '2079-06-06'


Es importante restringir el rango de fechas que se encuentra en el where porque, son los rangos que maneja el tipo SMALLDATETIME, por ejemplo si en la base de datos hay una fecha cargada y esta supera al 2079 y no tuvieramos aplicado el rango de fechas que especifiqué en el where, entonces no va a funcionar y arrojaría el siguiente error:

Server: Msg 296, Level 16, State 3, Line 1
The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.


Otra cosa es que en el ejemplo devuelve la fecha en formato DD/MM/YYYY porque utilicé 103, en el siguiente link se muestra la tabla completa.

msdn.microsoft.com/es-es/library/ms182418.aspx

Espero que les sirva
Ruben
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 15:50.