sql >> Database >  >> RDS >> Mysql

TO_SECONDS() Voorbeelden – MySQL

In MySQL is de TO_SECONDS() functie retourneert het aantal seconden sinds het jaar 0.

Deze functie moet niet worden verward met de TIME_TO_SECONDS() functie, die het aantal seconden in een gegeven tijdwaarde als argument retourneert.

Syntaxis

De syntaxis gaat als volgt:

TO_SECONDS(expr)

Waar expr is een datum- of datetime-waarde (te vergelijken met jaar 0).

Voorbeeld 1 – Een 'datum'-argument gebruiken

Hier is een voorbeeld met een datumargument.

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

Resultaat:

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

Voorbeeld 2 – Een ‘datetime’-argument gebruiken

Hier is een voorbeeld met een datetime-argument.

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

Resultaat:

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

Voorbeeld 3 – De huidige datum gebruiken

In dit voorbeeld geef ik de CURDATE() functie als het argument om de huidige datum te gebruiken.

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

Resultaat:

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

Voorbeeld 4 – De huidige datum en tijd gebruiken

In dit voorbeeld geef ik de NOW() functie als argument om de huidige datum en tijd te gebruiken.

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

Resultaat:

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

Tweecijferige jaren

MySQL heeft speciale regels voor het omgaan met datums met een jaartal van twee cijfers. Tweecijferige jaren zijn dubbelzinnig omdat de eeuw onbekend is. In principe zijn de volgende regels van toepassing:

  • Jaarwaarden in het bereik 00-69 worden geconverteerd naar 2000-2069 .
  • Jaarwaarden in het bereik 70-99 worden geconverteerd naar 1970-1999 .

Zie voor een volledige uitleg de MySQL-documentatie over hoe MySQL omgaat met jaren van twee cijfers.

Hier is een voorbeeld om te demonstreren:

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

Resultaat:

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

Verkorte datums

U kunt ook verkorte datums gebruiken. Hier is een voorbeeld waarin de vorige datumwaarden in verkorte vorm worden gebruikt.

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

Resultaat:

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

Vroegere datums

De MySQL-documentatie waarschuwt dat de TO_SECONDS() functie:

is niet bedoeld voor gebruik met waarden die voorafgaan aan de komst van de Gregoriaanse kalender (1582), omdat er geen rekening wordt gehouden met de dagen die verloren zijn gegaan toen de kalender werd gewijzigd. Voor data vóór 1582 (en mogelijk een later jaar in andere landen) zijn de resultaten van deze functie niet betrouwbaar.


  1. Een PostgreSQL-database maken

  2. RStudio gebruiken met een niet-systeemversie van de unixODBC Driver Manager

  3. Een processor selecteren voor SQL Server 2014 – deel 1

  4. SQL behalve