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

Prawidłowe formaty ciągów czasu dla funkcji daty/czasu SQLite

Poniżej znajduje się lista prawidłowych formatów ciągu znaków czasu, których można użyć w dowolnej funkcji daty i czasu w SQLite.

Ciąg czasu Przykład
RRRR-MM-DD 2020-12-30
RRRR-MM-DD GG:MM 2020-12-30 10:45
RRRR-MM-DD GG:MM:SS 2020-12-30 10:45:07
RRRR-MM-DD GG:MM:SS.SSS 2020-12-30 10:45:07.123
RRRR-MM-DD T GG:MM 2020-12-30T10:45
RRRR-MM-DD T GG:MM:SS 2020-12-30T10:45:07
RRRR-MM-DD T GG:MM:SS.SSS 2020-12-30T10:45:07.123
GG:MM 10:45
GG:MM:SS 10:45:07
GG:MM:SS.SSS 10:45:07.123
teraz 2020-12-30 10:45:07
DDDDDDDDDD 2459213,94799769

now łańcuch czasu zwraca bieżącą datę i godzinę przy użyciu uniwersalnego czasu koordynowanego (UTC).

DDDDDDDDDD ciąg czasu to liczba dni juliańskich wyrażona jako wartość zmiennoprzecinkowa.

Jak działają ciągi czasu?

Używając dowolnej funkcji daty i czasu SQLite, musisz podać ciąg czasu. Ten ciąg czasu reprezentuje datę/godzinę, na której próbujesz sformatować lub wykonać operację.

Podany ciąg czasu musi być zgodny z jednym z prawidłowych formatów w powyższej tabeli.

Przykładowy kod

Oto podstawowy przykład demonstrujący kilka ciągów czasu w powyższej tabeli.

.mode line
SELECT 
  datetime('2020-12-30'),
  datetime('now'),
  datetime('2459213.94799769');

Wynik:

      datetime('2020-12-30') = 2020-12-30 00:00:00
             datetime('now') = 2020-04-24 22:58:31
datetime('2459213.94799769') = 2020-12-30 10:45:07

Wskaźnik strefy czasowej

Wszystkie ciągi czasowe zawierające godzinę (takie jak GG:MM, GG:MM:SS itp.) mogą również zawierać wskaźnik strefy czasowej. Oznacza to wszystkie ciągi czasowe od wiersza 2 do wiersza 10 w powyższej tabeli.

Wskaźnik strefy czasowej może mieć postać [+-]HH:MM lub po prostu Z .

Z przyrostek niczego nie zmienia, ponieważ funkcje daty i czasu SQLite i tak już używają czasu UTC/zulu wewnętrznie.

Dowolny niezerowy HH:MM przyrostek jest odejmowany od wskazanej daty i godziny w celu obliczenia czasu zulu.

Przykład wskaźników strefy czasowej

Oto kilka przykładów do zademonstrowania.

SELECT 
  datetime('10:45Z'),
  datetime('10:45+01:00'),
  datetime('10:45-01:00');

Wynik:

     datetime('10:45Z') = 2000-01-01 10:45:00
datetime('10:45+01:00') = 2000-01-01 09:45:00
datetime('10:45-01:00') = 2000-01-01 11:45:00

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLITE nie może zaktualizować bazy danych tylko do odczytu z wersji 1 do 2

  2. Tworzenie wielotabelowych baz danych Android SQLite

  3. SQLite - Wybierz dane

  4. Jak działa SQLite Ltrim()

  5. SQLite JSON_ARRAY_LENGTH()