2012-01-15 16 views

risposta

7

Utilizzare questa:

SELECT UNIX_TIMESTAMP() - UNIX_TIMESTAMP(datetime_col) 
+1

che restituisce i secondi tra le due marche temporali. Hai ancora bisogno di dividerlo per 60 e arrotondare il risultato in modo appropriato. –

1

Basta cercare TIMEDIFF funzione nella documentazione di MySQL.

0

Un modo è usare l'epoca UNIX (come da rkosegi e Holger Basta)

SELECT ROUND((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(datefield))/60); 
20

Utilizzare il TIMESTAMPDIFF() funzione built-in:

SELECT TIMESTAMPDIFF(MINUTE, my_datatime_col, now()) 

potrebbe essere necessario scambiare i valori datetime per ottenere il giusto segno (positivo/negativo) sul risultato se la colonna è prima/dopo "ora".

+0

Questo è molto bello. Grazie. – Jirapong