Mysql
 sql >> Database >  >> RDS >> Mysql

Esempi di UNIX_TIMESTAMP() – MySQL

In MySQL, puoi usare UNIX_TIMESTAMP() funzione per restituire un timestamp Unix. Un timestamp Unix è il numero di secondi trascorsi da '1970-01-01 00:00:00' UTC.

Puoi utilizzare questa funzione per restituire un timestamp Unix basato sulla data/ora corrente o su un'altra data/ora specificata.

Sintassi

Puoi utilizzare uno dei seguenti moduli:

UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)

La (facoltativa) date argomento consente di specificare una data per la quale calcolare il timestamp Unix. Se fornita, la funzione restituisce il valore dell'argomento in secondi da '1970-01-01 00:00:00' UTC.

La date l'argomento può essere una data , data e ora o marca temporale stringa o un numero nel formato AAAAMMGG, AAAAMMGGHHMMSS, AAAAMMGG o AAAAMMGGDHHMMSS.

Il valore restituito è un intero se non viene fornito alcun argomento o se l'argomento non include una parte di secondi frazionari o decimale se viene fornito un argomento che include una parte di secondi frazionari.

Esempio 1:utilizzo della data/ora corrente

Questo esempio usa la data e l'ora correnti per produrre il timestamp Unix.

SELECT UNIX_TIMESTAMP();

Risultato:

+------------------+
| UNIX_TIMESTAMP() |
+------------------+
|       1530054626 |
+------------------+

Quindi questo è il numero di secondi trascorsi dalle 00:00:00 Coordinated Universal Time (UTC), giovedì 1 gennaio 1970, e il tempo in cui ho eseguito quella query.

Esempio 2:specificare una data

In questo esempio, fornisco una data da cui calcolare il timestamp Unix.

SELECT UNIX_TIMESTAMP('1970-01-02') As Result;

Risultato:

+--------+
| Result |
+--------+
|  50400 |
+--------+

Esempio 3:specificare un valore DateTime

In questo esempio, fornisco un valore datetime.

SELECT UNIX_TIMESTAMP('2021-11-27 12:35:03') AS Result;

Risultato:

+------------+
| Result     |
+------------+
| 1637980503 |
+------------+

Esempio 4 – Secondi frazionari

Come accennato, se fornisci una parte di secondi frazionari, il valore restituito sarà un decimale valore (al contrario di intero per gli esempi precedenti).

Ecco un esempio.

SELECT UNIX_TIMESTAMP('2021-11-27 12:35:03.123456') AS Result;

Risultato:

+-------------------+
| Result            |
+-------------------+
| 1637980503.123456 |
+-------------------+