SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak działa funkcja JulianDay() w SQLite

SQLite julianday() funkcja zwraca liczbę dni od południa w Greenwich 24 listopada 4714 r. p.n.e. (przy użyciu proleptycznego kalendarza gregoriańskiego).

Jeśli używasz proleptycznego kalendarza juliańskiego, jest to poniedziałek, 1 stycznia 4713 pne.

Dzień juliański to ciągła liczba dni od początku okresu juliańskiego. Jest zwykle używany przez astronomów, oprogramowanie itp. do obliczania dni, które upłynęły między dwoma wydarzeniami.

Aby użyć tej funkcji, musisz podać ciąg czasu oraz wszelkie (opcjonalne) modyfikatory. Modyfikator umożliwia zmianę daty, na przykład dodanie liczby dni, ustawienie czasu lokalnego itp.

Składnia

Składnia wygląda tak:

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

timestring argument musi być prawidłowym ciągiem czasu.

modifier argumenty są opcjonalne. Możesz podać jeden lub więcej modyfikatorów. Jeśli podasz modyfikator, musi to być prawidłowy modyfikator.

Przykład

Oto przykład demonstrujący julianday() funkcja używana z jednym argumentem.

SELECT julianday('now');

Wynik:

2458968.52391635

now ciąg czasu jest konwertowany na dzień juliański.

Dodaj modyfikator

Możemy zmodyfikować poprzedni wynik za pomocą modyfikatora. Oto przykład.

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

Wynik:

2458968.65149612

Wiele modyfikatorów

Jak wspomniano, możesz dodać jeden lub więcej modyfikatorów. Oto przykład dodania kolejnego modyfikatora do poprzedniego przykładu.

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

Wynik:

2458969.0685371 

julianday() kontra strftime()

julianday() funkcja zwraca dokładnie ten sam wynik, co strftime('%J', ...) zwroty. julianday() funkcja jest po prostu wygodniejszym sposobem na zrobienie tego.

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

Wynik:

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

Zakres dat

Podobnie jak w przypadku wszystkich funkcji daty i czasu SQLite, julianday() działa tylko dla dat od 0000-01-01 00:00:00 do 9999-12-31 23:59:59 (numery Dnia Juliusza od 1721059.5 do 5373484.5).

W przypadku dat spoza tego zakresu wyniki są niezdefiniowane.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest limit zmiennych SQL, które można określić w pojedynczym zapytaniu execSQL?

  2. Jak działa SQLite Upper()

  3. Wstaw do bazy danych SQLite Android

  4. Sprawdź swoją wersję SQLite

  5. Formatuj wyniki zapytania SQLite jako kolumny z nagłówkami kolumn