SQLite
 sql >> база данни >  >> RDS >> SQLite

Как работи функцията JulianDay() в SQLite

SQLite julianday() функцията връща броя на дните след обяд в Гринуич на 24 ноември 4714 г. пр.н.е. (използвайки пролептичния григориански календар).

Ако използвате пролептичния юлиански календар, това е понеделник, 1 януари 4713 г. пр. н. е.

Юлианският ден е непрекъснатото броене на дните от началото на Юлианския период. Обикновено се използва от астрономи, софтуер и т.н. за изчисляване на изминалите дни между две събития.

За да използвате тази функция, трябва да предоставите времеви низ плюс всякакви (по избор) модификатори. Модификаторът ви позволява да промените датата, като например добавяне на брой дни, задаване на местно време и т.н.

Синтаксис

Синтаксисът е така:

julianday(timestring, modifier, modifier, ...)

timestring аргументът трябва да е валиден времеви низ.

modifier аргументите са незадължителни. Можете да предоставите един или повече модификатори. Ако предоставите модификатор, той трябва да е валиден модификатор.

Пример

Ето пример за демонстрация на julianday() функция се използва с един аргумент.

SELECT julianday('now');

Резултат:

2458968.52391635

now времевият низ се преобразува в Юлиански ден.

Добавяне на модификатор

Можем да променим предишния резултат с помощта на модификатор. Ето един пример.

SELECT julianday('now', '+3 hours');

Резултат:

2458968.65149612

Множество модификатори

Както споменахме, можете да добавите един или повече модификатори. Ето пример за добавяне на друг модификатор към предишния пример.

SELECT julianday('now', '+3 hours', 'localtime');

Резултат:

2458969.0685371 

julianday() срещу strftime()

julianday() функцията връща точно същия резултат като strftime('%J', ...) се завръща. julianday() функцията е просто по-удобен начин да го направите.

SELECT 
  julianday('now'),
  strftime('%J', 'now');

Резултат:

julianday('now')  strftime('%J', 'now')
----------------  ---------------------
2458968.52807836  2458968.528078356    

Период от време

Както при всички функции за дата и час на SQLite, julianday() работи само за дати между 0000-01-01 00:00:00 и 9999-12-31 23:59:59 (номера на юлианския ден от 1721059.5 до 5373484.5).

За дати извън този диапазон резултатите са недефинирани.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Персонализиран календар и напомняне за Android

  2. Как да използвам regexp в sqlite

  3. SQLite подобрен синтаксис на заявка за Android

  4. IllegalStateException:базата данни вече е затворена (с помощта на ViewPager)

  5. актуализиране и уплътняване на sqlite база данни в android