Problém:
Chcete získat aktuální datum a čas pro databázi MySQL.
Řešení:
K získání aktuálního data a času použijeme jednu ze dvou funkcí, CURRENT_TIMESTAMP nebo NOW().
SELECT CURRENT_TIMESTAMP ;
Zde je výsledek dotazu:
2019-08-15 11:13:17
Diskuse:
CURRENT_TIMESTAMP
funkce v databázi MySQL vrátí aktuální datum a čas (tj. čas počítače, na kterém běží daná instance MySQL). Udává se jako hodnota ve formátu 'RRRR-MM-DD hh:mm:ss'.
Tato funkce nevyžaduje závorky. Můžete však použít závorky k určení vyšší přesnosti času. Jednoduše vložte celé číslo od 1 do 6 do hranatých závorek – to určuje počet zlomkových sekund, které se mají zahrnout za desetinnou čárkou. 1 označuje pouze jedno místo za desetinnou čárkou, 3 označuje tři místa atd. Zde je příklad:
SELECT CURRENT_TIMESTAMP(6) ;
Tím se vrátí datum a čas se šesti zlomkovými sekundami, například takto:
2019-08-27 12:08:56.146153
Tento výsledek obsahuje 6místný zlomek sekundy, protože jsme ve funkci CURRENT_TIMESTAMP vložili 6 jako volitelný argument.
Funkce NOW() je podobná funkci CURRENT_TIMESTAMP
funkce a vrátí stejný výsledek. Rozdíl je v tom, že CURRENT_TIMESTAMP
je standardní funkce SQL, zatímco NOW() je specifická pro MySQL. Podívejme se na příklad s NOW():
SELECT NOW() ;
Zde je výsledek dotazu:
2019-08-27 12:18:55
Na rozdíl od CURRENT_TIMESTAMP vyžaduje NOW() hranaté závorky. Závorky můžete nechat prázdné, což vrátí datum a čas bez zlomků sekund. Pokud chcete získat přesnější výsledek, použijte jako volitelný argument celé číslo od 1 do 6 (jako u CURRENT_TIMESTAMP). Vrátí vámi zadaný počet zlomků sekund.