Manipulación de Fechas

En casi todas las bases de datos existe el almacenamiento de fechas, para cada base de datos funciona diferente por ejemplo en SQLite y en SQL server la sentencia se llama datetime, en Oracle se llama date, en SQL versión del 2006 timestamp. Por eso siempre consulte la documentación del proveedor.

El estándar SQL define cinco tipos de datos que se ocupan de las fechas y horas. Estos son llamados tipos de datos de fecha y tiempo o simplemente fechas y horas. Existe una considerable superposición entre estos tipos de datos, por lo que algunas implementaciones pueden no ser compatibles.

Datetime, time, date

SQLite cuenta con tres funciones que generan los formatos más utilizados como son la fecha (año-mes-día), el tiempo (hora:minutos:segundos), y la unión de las dos datetime.

Sintaxis:

Donde:

  • fecha.- Columna o variable de tipo datetime.

Ejemplo, usaremos los formatos date, time y datetime con la base de datos CLIENTES:

Como aún no habíamos insertado la hora, el campo nos muestra el formato vacio 00:00:00. Vamos a comprobar si funciona completándolo con la fecha y la hora completa en la tabla CLIENTES. Vamos a introducir los cambios desde el editor DB BROWSE FOR LITE (para ir familiarizándonos con este editor).

Primer paso.- Pulsamos en la pestaña “Navegar Datos

Segundo paso:

Tercer paso:

Cuarto paso:

Aquí vemos que nuestro registro se ha modificado satisfactoriamente.

Vamos a comprobar si todo está correcto, para ello volvemos a escribir la consulta anterior:

El resultado es la columna time completada.

Fracciones de una fecha

Hay ocasiones en que solo queremos saber la fracción de una fecha como el año o el mes. SQLite dispone de la función strftime.

Sintaxis:

Donde:

  • formato.- Cadena de texto con las variables del formato que queremos aplicar. Si queremos especificar fracciones de una fecha hay que utilizar una serie de variables. En la documentación oficial de SQLite Puedes ver la lista completa.

    Variables más importantes.

  • fecha.- Dato de tipo datetime.

Ejemplo, obtener el año y el mes de las compras de la tabla VENTAS que se hayan producido cualquier día a las 12 de la mañana:

Ejercicios:

  • Haz una consulta que genere la solución siguiente:
  • Haz una consulta que genere la solución siguiente:
  • Haz una consulta que genere la solución siguiente:

Modificadores

Son un tipo de parámetros de las funciones date, time, datetime y strftime que permite añadir o restar periodos de tiempo (horas, minutos, días, etc) a una fecha.

Sintaxis:

Donde:

  • formato.- Cadena de texto con el formato a aplicar. Para especificar fracciones de una fecha debemos utilizar una serie de variables. En la documentación oficial de SQLite Puedes ver la lista completa.
  • fecha.- Dato de tipo datetime.
  • modificadores.- Se pueden especificar todos los que necesitemos separados por comas “,“. Normalmente constan de una cifra (el periodo de sumar o restar) y un tipo (día, mes y año). En la documentación oficial de SQLite Puedes ver la lista completa.

Modificadores más importantes.

Ejemplo, pasado un mes y 12 días se realizó una encuesta a nuestros clientes después de haber realizado una primera compra. Calcular el día de la encuesta.

Fecha actual

La cadena “now” representa la fecha actual. Se comporta como una columna de tipo datetime por lo que podemos usarla como tal en cualquier contexto. Normalmente viene acompañada del modificador “localtime” para que al calcularla SQLite tenga en cuenta las zonas horarias y los cambios verano/invierno.

Ejemplo:

No se ha necesitado el from, ya que al igual que muchos otros productos, SQLite nos permite realizar consultas sin necesidad de tablas siempre y cuando sólo utilicemos valores fijos como “now o una cadena de texto determinada y funciones sobre ella.

 

 

Anuncios