V MySQL je to TIMESTAMP()
Funkce vrací hodnotu datetime na základě předávaných argumentů. Můžete zadat jeden nebo dva argumenty. Pokud zadáte dva, přidá druhý k prvnímu a vrátí výsledek.
Syntaxe
Můžete použít kterýkoli z těchto dvou formulářů:
TIMESTAMP(expr) TIMESTAMP(expr1,expr2)
První argument (expr
a expr1
) je výraz pro datum nebo datum a čas. Druhý argument (expr2
) je časový výraz. Pokud zadáte dva argumenty, expr2
je přidán do expr1
a výsledkem je hodnota datetime.
Příklad 1 – Uveďte argument „datum“
V tomto příkladu poskytuji výraz data.
SELECT TIMESTAMP('1999-12-31');
Výsledek:
+-------------------------+ | TIMESTAMP('1999-12-31') | +-------------------------+ | 1999-12-31 00:00:00 | +-------------------------+
Výsledkem je tedy hodnota datetime bez ohledu na to, zda byl naším argumentem výraz data nebo datetime.
Příklad 2 – Zadejte argument „datetime“
A zde je příklad použití výrazu datetime.
SELECT TIMESTAMP('1999-12-31 23:59:59');
Výsledek:
+----------------------------------+ | TIMESTAMP('1999-12-31 23:59:59') | +----------------------------------+ | 1999-12-31 23:59:59 | +----------------------------------+
Příklad 3 – Zahrňte zlomky sekund
Můžete také zahrnout zlomkové sekundy až mikrosekundy (6 číslic). Když to uděláte, výsledek bude zahrnovat také tuto část.
SELECT TIMESTAMP('1999-12-31 23:59:59.999999');
Výsledek:
+-----------------------------------------+ | TIMESTAMP('1999-12-31 23:59:59.999999') | +-----------------------------------------+ | 1999-12-31 23:59:59.999999 | +-----------------------------------------+
Příklad 4 – Poskytnutí 2 argumentů
Zde je příklad s použitím dvou argumentů. Jak bylo zmíněno, druhý se přidá k prvnímu.
SELECT TIMESTAMP('1999-12-31', '12:30:45');
Výsledek:
+-------------------------------------+ | TIMESTAMP('1999-12-31', '12:30:45') | +-------------------------------------+ | 1999-12-31 12:30:45 | +-------------------------------------+
Příklad 5 – Větší „časové“ hodnoty
Typ časových dat může mít rozsah od -838:59:59 na 838:59:59 . Je to proto, že se neomezuje pouze na zobrazení denní doby. Může být také použit k zobrazení uplynulého času. V tomto případě jej používáme k přidání velkého počtu hodin k hodnotě data.
SELECT TIMESTAMP('1999-12-31', '400:30:45');
Výsledek:
+--------------------------------------+ | TIMESTAMP('1999-12-31', '400:30:45') | +--------------------------------------+ | 2000-01-16 16:30:45 | +--------------------------------------+
Příklad 6 – Záporné hodnoty
Druhý argument můžete odečíst od prvního jednoduše tak, že před druhou hodnotu dáte znaménko mínus.
SELECT TIMESTAMP('1999-12-31', '-400:30:45');
Výsledek:
+---------------------------------------+ | TIMESTAMP('1999-12-31', '-400:30:45') | +---------------------------------------+ | 1999-12-14 07:29:15 | +---------------------------------------+
Příklad 7 – Použití aktuálního data
Pokud chcete časové razítko, které používá aktuální datum, mohly by vás více zajímat funkce jako NOW()
, CURDATE()
a možná i SYSDATE()
(rozdíl naleznete v části SYSDATE()
vs NOW()
).
Nicméně TIMESTAMP()
Funkce může být v určitých případech stále vaší preferovanou funkcí, například pokud chcete k aktuálnímu datu přidat hodnotu času.
SELECT TIMESTAMP(CURDATE()) AS 'Today', TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';
Výsledek:
+---------------------+---------------------+ | Today | Tomorrow | +---------------------+---------------------+ | 2018-07-03 00:00:00 | 2018-07-04 00:00:00 | +---------------------+---------------------+
Funkce TIMESTAMPADD()
Můžete použít TIMESTAMPADD()
funkce pro přidání zadané jednotky k hodnotě data nebo data a času. Tato funkce také přijímá jednotky, jako jsou dny, měsíce, roky atd.
Pokud najdete TIMESTAMP()
příliš omezující pro vaše potřeby, viz TIMESTAMPADD()
Příklady.