SQLite: función juliana

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQLite: función juliana

Este tutorial de SQLite explica cómo usar SQLite función juliana Con sintaxis y ejemplos.

describir

La función SQLite julianday acepta una fecha, le permite aplicar modificadores y devuelve la fecha como un día juliano. El día juliano es el número de días en el calendario gregoriano desde el 24 de noviembre de 4714 a. C., 12:00 p. m. GMT. La función julianday devuelve la fecha como un flotante.

sintaxis

La sintaxis de la función julianday en SQLite es:

julianday(timestring [, modifier1, modifier2, ... modifier_n ] )

parámetro o parámetro

cadena de tiempo

valor de la fecha Puede ser uno de los siguientes:

cadena de tiempo explique
ahora now es el literal utilizado para devolver la fecha actual
AAAA-MM-DD Valores de fecha en el formato “AAAA-MM-DD”
AAAA-MM-DD HH:MM El formato del valor de fecha es ‘AAAA-MM-DD HH:MM’
AAAA-MM-DD HH:MM:SS El formato del valor de fecha es ‘AAAA-MM-DD HH:MM:SS’
AAAA-MM-DD HH:MM:SS.SSS El formato del valor de fecha es ‘AAAA-MM-DD HH:MM:SS.SSS’
Altura: milímetro Valor de fecha en el formato “HH:MM”
HH:MM:SS Valores de fecha en el formato “HH:MM:SS”
HH:MM:SS.SSS El formato del valor de fecha es ‘HH:MM:SS.SSS’
AAAA-MM-DDToneladaAltura: milímetro El formato del valor de fecha es ‘AAAA-MM-DDTonelada¿Dónde está HH: MM? Tonelada es el carácter literal que separa las partes de fecha y hora
AAAA-MM-DDToneladaHH:MM:SS El formato del valor de fecha es ‘AAAA-MM-DDToneladadonde esta HH:MM:SS’ Tonelada es el carácter literal que separa las partes de fecha y hora
AAAA-MM-DDToneladaHH:MM:SS.SSS El formato del valor de fecha es ‘AAAA-MM-DDToneladaHH:MM:SS.SSS’ donde Tonelada es el carácter literal que separa las partes de fecha y hora
DDDDDDDDD número de fecha juliana

modificador1, modificador2, … modificador_n

Electivo. Estos son modificadores aplicados a cadenas de tiempo. Cada modificador se aplica secuencialmente y es acumulativo. Pueden ser uno o más de los siguientes:

modificador explique
[+-]NNN años Fecha más/menos el número de años
[+-]NNN mes Fecha más/menos meses
[+-]NNN días Fecha más/menos días
[+-]NNN horas Horas añadidas/restadas de la fecha
[+-]NNN minutos Sumar/restar minutos hasta la fecha
[+-]NNN segundos Fecha más/menos segundos
[+-]NNN.NNNN segundos Sumar/restar segundos (y segundos fraccionarios) a una fecha
inicio del año Mover la fecha a principios de año
el comienzo del mes Mover la fecha a principios de mes
comienzo del dia Mover la fecha al comienzo del día
jornada laboral norte Adelante la fecha al día siguiente con el número de día de la semana N
(0=domingo, 1=lunes, 2=martes, 3=miércoles, 4=jueves, 5=viernes, 6=sábado)
época unix Se usa con cadenas de tiempo DDDDDDDDDD para interpretar fechas como tiempo UNIX (es decir, segundos desde 1970-01-01)
hora local Ajuste la fecha a la hora local, asumiendo que la cadena de tiempo está en UTC
UTC Ajuste la fecha a UTC, asumiendo que la cadena de tiempo está en hora local

aplicar para

La función julianday está disponible para las siguientes versiones de SQLite:

  • SQLite 3.8.6, SQLite 3.8.x, SQLite 3.7.x, SQLite 3.6.x

ejemplo

Veamos algunos ejemplos de la función julianday de SQLite y exploremos cómo usar la función julianday en SQLite.

Ejemplo de fecha simple

Puede convertir una fecha simple a un día juliano usando la función julianday de la siguiente manera:

sqlite> SELECT julianday('2016-10-18');
Result: 2457679.5

sqlite> SELECT julianday('2016-10-18 16:45');
Result: 2457680.19791667

sqlite> SELECT julianday('2016-10-18 16:45:30');
Result: 2457680.19826389

Ejemplo de fecha actual

Puede recuperar la fecha actual en SQLite usando la cadena de tiempo “ahora” con la función julianday como esta:

sqlite> SELECT julianday('now');
Result: 2457819.5            (assuming current date is 2017-03-07)

Ejemplo del primer día del mes

Puede recuperar el primer día del mes usando la función julianday de la siguiente manera:

sqlite> SELECT julianday('2017-03-07', 'start of month');
Result: 2457813.5            (equal to 2017-03-01)

sqlite> SELECT julianday('now', 'start of month');
Result: 2457813.5            (assuming current date is 2017-03-07)

sqlite> SELECT julianday('2017-03-07', '-6 days');
Result: 2457813.5

sqlite> SELECT julianday('now', '-6 days');
Result: 2457813.5            (assuming current date is 2017-03-07)

En estos ejemplos, calculamos el primer día del mes de varias maneras diferentes. El modificador “comienzo de mes” nos permite tomar cualquier valor de fecha y calcular el primer día del mes para esa fecha. Esto incluye el uso de la cadena de tiempo “ahora”.

También podemos sumar o restar días a un valor de fecha usando el modificador “NNN días”. En nuestro ejemplo, restamos 6 días del valor de la fecha. Dado que nuestro valor de fecha es 2017-03-07, esto devolverá el primer día del mes (es decir, 2017-03-01) como día juliano, que es 2457813,5.

Ejemplo del último día del mes

Puede recuperar el último día del mes usando la función julianday de la siguiente manera:

sqlite> SELECT julianday('2017-03-07', 'start of month', '+1 month', '-1 day');
Result: 2457843.5

sqlite> SELECT julianday('now', 'start of month', '+1 month', '-1 day');
Result: 2457843.5           (assuming current date is 2017-03-07)

sqlite> SELECT julianday('2017-03-07', '+24 days');
Result: 2457843.5

sqlite> SELECT julianday('now', '+24 days');
Result: 2457843.5           (assuming current date is 2017-03-07)

En estos ejemplos, calculamos el último día del mes de varias maneras diferentes. Primero, usamos el modificador “comienzo del mes” para calcular el primer día del mes, luego sumamos 1 mes y luego restamos 1 día.

También podemos sumar o restar días a un valor de fecha usando el modificador “NNN días”. En nuestro ejemplo, agregamos 24 días al valor de la fecha. Dado que nuestro valor de fecha es 2017-03-07, esto devolverá el último día del mes (es decir, 2017-03-31) como día juliano, que es 2457843.5.

Ejemplo de sumar/restar año

Puede usar la función julianday para manipular los valores de fecha y agregarles o restarles años. Esto se hace usando el modificador ‘NNN years’ con la función julianday de la siguiente manera:

sqlite> SELECT julianday('2016-10-16', '+2 years');
Result: 2458407.5          (which is equal to 2018-10-16)

sqlite> SELECT julianday('2012-10-16', '-2 years');
Result: 2455485.5          (which is equal to 2010-10-16)

sqlite> SELECT julianday('now', '+5 years');
Result: 2459645.5          (assuming current date is 2017-03-07)

En estos ejemplos, usamos el modificador “NNN year” para agregar 2 años en el primer ejemplo, restar 2 años en el segundo ejemplo y agregar 5 años a la fecha actual en el tercer ejemplo.

Ejemplo de sumar/restar días

Puede usar la función julianday para manipular los valores de fecha y agregarles o restarles días. Esto se hace usando el modificador ‘NNN days’ con la función julianday de la siguiente manera:

sqlite> SELECT julianday('2017-03-07', '+7 days');
Result: 2457826.5          (which is equal to 2017-03-14)

sqlite> SELECT julianday('2017-03-07', '-7 days');
Result: 2457812.5          (which is equal to 2017-02-28)

sqlite> SELECT julianday('now', '+10 days');
Result: 2457839.5          (assuming current date is 2017-03-07)

En estos ejemplos, usamos el modificador “NNN días” para agregar 7 días en el primer ejemplo, restar 7 días en el segundo ejemplo y agregar 10 días a la fecha actual en el tercer ejemplo.