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

TIMESTAMP() Esempi – MySQL

In MySQL, il TIMESTAMP() La funzione restituisce un valore datetime basato sugli argomenti passati. È possibile fornire uno o due argomenti. Se ne fornisci due, aggiunge il secondo al primo e restituisce il risultato.

Sintassi

Puoi utilizzare uno di questi due moduli:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Il primo argomento (expr e expr1 ) è un'espressione di data o data e ora. Il secondo argomento (expr2 ) è un'espressione del tempo. Se fornisci due argomenti, expr2 viene aggiunto a expr1 e il risultato è un valore datetime.

Esempio 1 – Fornisci un argomento "data"

In questo esempio fornisco un'espressione di data.

SELECT TIMESTAMP('1999-12-31');

Risultato:

+-------------------------+
| TIMESTAMP('1999-12-31') |
+-------------------------+
| 1999-12-31 00:00:00     |
+-------------------------+

Quindi il risultato è un valore datetime indipendentemente dal fatto che il nostro argomento fosse un'espressione date o datetime.

Esempio 2:fornisci un argomento "datetime"

Ed ecco un esempio che utilizza un'espressione datetime.

SELECT TIMESTAMP('1999-12-31 23:59:59');

Risultato:

+----------------------------------+
| TIMESTAMP('1999-12-31 23:59:59') |
+----------------------------------+
| 1999-12-31 23:59:59              |
+----------------------------------+

Esempio 3 – Includi frazioni di secondi

Puoi anche includere una parte di secondi frazionari fino a microsecondi (6 cifre). Quando lo fai, il risultato includerà anche quella parte.

SELECT TIMESTAMP('1999-12-31 23:59:59.999999');

Risultato:

+-----------------------------------------+
| TIMESTAMP('1999-12-31 23:59:59.999999') |
+-----------------------------------------+
| 1999-12-31 23:59:59.999999              |
+-----------------------------------------+

Esempio 4 – Fornire 2 argomenti

Ecco un esempio che utilizza due argomenti. Come accennato, il secondo viene aggiunto al primo.

SELECT TIMESTAMP('1999-12-31', '12:30:45');

Risultato:

+-------------------------------------+
| TIMESTAMP('1999-12-31', '12:30:45') |
+-------------------------------------+
| 1999-12-31 12:30:45                 |
+-------------------------------------+

Esempio 5 – Valori "time" più grandi

Il tipo di dati temporali può avere un intervallo da -838:59:59 a 838:59:59 . Questo perché non si limita solo a rappresentare l'ora del giorno. Potrebbe anche essere usato per rappresentare il tempo trascorso. In questo caso, lo utilizziamo per aggiungere un numero elevato di ore a un valore di data.

SELECT TIMESTAMP('1999-12-31', '400:30:45');

Risultato:

+--------------------------------------+
| TIMESTAMP('1999-12-31', '400:30:45') |
+--------------------------------------+
| 2000-01-16 16:30:45                  |
+--------------------------------------+

Esempio 6 – Valori negativi

Puoi sottrarre il secondo argomento dal primo, semplicemente anteponendo al secondo valore un segno meno.

SELECT TIMESTAMP('1999-12-31', '-400:30:45');

Risultato:

+---------------------------------------+
| TIMESTAMP('1999-12-31', '-400:30:45') |
+---------------------------------------+
| 1999-12-14 07:29:15                   |
+---------------------------------------+

Esempio 7:utilizzo della data corrente

Se desideri un timestamp che utilizzi la data corrente, potresti essere più interessato a funzioni come NOW() , CURDATE() e possibilmente anche SYSDATE() (per la differenza, vedere SYSDATE() rispetto a NOW() ).

Tuttavia, il TIMESTAMP() funzione potrebbe essere ancora la tua funzione preferita in alcuni casi, ad esempio se desideri aggiungere un valore di tempo alla data corrente.

SELECT 
    TIMESTAMP(CURDATE()) AS 'Today',
    TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';

Risultato:

+---------------------+---------------------+
| Today               | Tomorrow            |
+---------------------+---------------------+
| 2018-07-03 00:00:00 | 2018-07-04 00:00:00 |
+---------------------+---------------------+

La funzione TIMESTAMPADD()

Puoi usare il TIMESTAMPADD() funzione per aggiungere un'unità specificata a un valore di data o ora. Questa funzione accetta anche unità come giorni, mesi, anni, ecc.

Se trovi TIMESTAMP() troppo restrittivo per le tue esigenze, vedi TIMESTAMPADD() Esempi.