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.