sql >> Databáze >  >> RDS >> Mysql

TO_SECONDS() Příklady – MySQL

V MySQL je to TO_SECONDS() funkce vrací počet sekund od roku 0.

Tuto funkci nezaměňujte s TIME_TO_SECONDS() funkce, která vrací počet sekund v dané časové hodnotě poskytnuté jako argument.

Syntaxe

Syntaxe vypadá takto:

TO_SECONDS(expr)

Kde expr je hodnota data nebo data a času (pro porovnání s rokem 0).

Příklad 1 – Použití argumentu „datum“

Zde je příklad použití argumentu data.

SELECT TO_SECONDS('2021-09-21');

Výsledek:

+--------------------------+
| TO_SECONDS('2021-09-21') |
+--------------------------+
|              63799401600 |
+--------------------------+

Příklad 2 – Použití argumentu „datetime“

Zde je příklad použití argumentu datetime.

SELECT TO_SECONDS('2021-09-21 10:30:25');

Výsledek:

+-----------------------------------+
| TO_SECONDS('2021-09-21 10:30:25') |
+-----------------------------------+
|                       63799439425 |
+-----------------------------------+

Příklad 3 – Použití aktuálního data

V tomto příkladu předám CURDATE() funkce jako argument pro použití aktuálního data.

SELECT TO_SECONDS(CURDATE()) AS 'Result';

Výsledek:

+-------------+
| Result      |
+-------------+
| 63697968000 |
+-------------+

Příklad 4 – Použití aktuálního data a času

V tomto příkladu předám NOW() funkce jako argument pro použití aktuálního data a času.

SELECT TO_SECONDS(NOW()) AS 'Result';

Výsledek:

+-------------+
| Result      |
+-------------+
| 63698002698 |
+-------------+

Dvouciferné roky

MySQL má speciální pravidla pro práci s daty s dvoucifernými roky. Dvouciferné roky jsou nejednoznačné, protože století není známo. V zásadě platí následující pravidla:

  • Hodnoty roku v rozsahu 00-69 jsou převedeny na 2000-2069 .
  • Hodnoty roku v rozsahu 70-99 jsou převedeny na 1970-1999 .

Úplné vysvětlení najdete v dokumentaci MySQL o tom, jak MySQL zachází s dvoucifernými roky.

Zde je příklad k demonstraci:

SELECT 
  TO_SECONDS('69-10-07') AS '69 (2069)',
  TO_SECONDS('70-10-07') AS '70 (1970)';

Výsledek:

+-------------+-------------+
| 69 (2069)   | 70 (1970)   |
+-------------+-------------+
| 65315548800 | 62191324800 |
+-------------+-------------+

Zkrácená data

Můžete použít i zkrácená data. Zde je příklad použití předchozích hodnot data ve zkrácené formě.

SELECT 
  TO_SECONDS('691007') AS '69 (2069)',
  TO_SECONDS('701007') AS '70 (1970)';

Výsledek:

+-------------+-------------+
| 69 (2069)   | 70 (1970)   |
+-------------+-------------+
| 65315548800 | 62191324800 |
+-------------+-------------+

Dřívější data

Dokumentace MySQL varuje, že TO_SECONDS() funkce:

není určeno pro použití s ​​hodnotami, které předcházejí příchodu gregoriánského kalendáře (1582), protože nebere v úvahu dny, které byly ztraceny při změně kalendáře. Pro data před rokem 1582 (a možná pozdější rok v jiných lokalitách) nejsou výsledky této funkce spolehlivé.


  1. Funkce MySQL ASIN() – Vrací úhlový sinus čísla

  2. Přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:YES) (Mysql::Error)

  3. Android Sqlite při upgradu odstraňte tabulku z databáze

  4. Python psycopg2 se nevkládá do tabulky postgresql