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.