sql >> Databáze >  >> RDS >> SQLite

Jak funguje funkce Time() v SQLite

SQLite má time() funkce, která vám umožňuje vrátit časovou hodnotu na základě časového řetězce a jakýchkoli modifikátorů.

Vrací čas v tomto formátu:HH:MM:SS

Chcete-li použít tuto funkci, musíte zadat časový řetězec a jakékoli (volitelné) modifikátory. Modifikátor umožňuje změnit čas, například přidat počet hodin, nastavit jej na místní čas atd

Syntaxe

Syntaxe time() funkce vypadá takto:

time(timestring, modifier, modifier, ...)

timestring argument musí být platný časový řetězec.

modifier argumenty jsou volitelné. Můžete poskytnout jeden nebo více modifikátorů. Pokud zadáte modifikátor, musí to být platný modifikátor.

Příklad

Zde je základní příklad pro demonstraci time() funkce se používá s jedním argumentem.

SELECT time('now');

Výsledek:

03:47:36

now časový řetězec se převede na aktuální datum a čas. Vzhledem k tomu, že používám time() funkce, vrátí se pouze časová část.

Přidat modifikátor

Předchozí výsledek můžeme upravit pomocí modifikátoru. Zde je příklad.

SELECT time('now', '+5 hours');

Výsledek:

08:48:24

V tomto případě jsem k času přidal pět hodin.

Více modifikátorů

Jak již bylo zmíněno, můžete přidat jeden nebo více modifikátorů. Zde je příklad přidání dalšího modifikátoru k předchozímu příkladu.

SELECT time('now', '+5 hours', 'localtime');

Výsledek:

18:50:08

localtime modifikátor předpokládá, že zadaný časový řetězec je v Universal Coordinated Time (UTC). Poté upraví časový řetězec tak, aby zobrazoval místní čas.

Proto můžete získat jiný výsledek v závislosti na vašem místním čase.

String Literal jako časový řetězec

Výše uvedené příklady používají now jako časový řetězec, ale můžete zadat jakýkoli platný časový řetězec.

Zde je několik dalších příkladů.

SELECT time('1999-12-18 17:10:23');

Výsledek:

17:10:23 

V tomto případě jednoduše odstraní část data z data.

time() vs strftime()

time() funkce vrací přesně stejný výsledek jako strftime('%H:%M:%S', ...) se vrací. time() funkce je jen pohodlnější způsob, jak to udělat.

SELECT 
  time('now'),
  strftime('%H:%M:%S', 'now');

Výsledek:

time('now')  strftime('%H:%M:%S', 'now')
-----------  ---------------------------
03:56:09     03:56:09                   

Časové období

Stejně jako u všech funkcí data a času SQLite, time() funguje pouze pro data mezi 0000-01-01 00:00:00 a 9999-12-31 23:59:59 (čísla juliánského dne 1721059,5 až 5373484,5).

Pro data mimo tento rozsah nejsou výsledky definovány.


  1. Jak nasadit vysoce dostupný PostgreSQL s jediným koncovým bodem pro WordPress

  2. Jak mohu uvést, že má stejná data ID jako smyčka while v PHP?

  3. Vkládání dat pomocí mysqli

  4. Instalace RAC pro databázi s datovými soubory