Consulta sobre un campo date en Oracle

Consulta sobre un campo date en oracleExplicaremos como hacer una consulta sobre un campo date en una Base de Datos Oracle.

En las tablas, normalmente solemos tener campos de tipo Date para almacenar fechas de todo tipo (específicas de la tabla, de creación del registro, de modificación, etc) y para recuperar registros condicionados a esos campos date, requeriremos que dichas fechas entren en las condiciones de la clausula where.


Por ejemplo, dada la siguiente tabla:

 PERSONAS

  •  id_persona    NUMBER
  •  nombre    VARCHAR2
  •  fecha_alta    DATE

Si quisieramos saber que personas se dieron de alta antes del 2 de febrero de 2014, sería tan sencillo como realizar la siguiente consulta:

    SELECT *
    FROM PERSONAS
    WHERE TO_CHAR(fecha_alta , 'YYYYMMDD') < '20140202'

Es tan sencillo como convertir el campo fecha mediante el uso de la función TO_CHAR, mas el formato que nos convenga y luego compararlo con otra cadena de caracteres que tenga la representación de fecha equivalente que queremos comparar.

 

 

Consulta a campo date con horas y minutos.

Si hubieramos querido comparar también las horas, minutos e incluso segundos, en un formato propio de un reloj digital, tendriamos que haber empleado esta sentencia en el Where:

WHERE TO_CHAR (fecha_alta, 'YYYYMMDDHH24MISS') < '20140202183007'

De esta manera, el manejo de fechas, que suele ser complejo, se torna simple y sobretodo versatil, pues nos permite realizar tantas combinaciones como necesitemos en una consulta sobre un campo date de Oracle.

 

16295 visitas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *