Problema:
Vorresti ottenere l'ora corrente in un database PostgreSQL. Non vuoi l'offset del fuso orario.
Soluzione:
Useremo la funzione LOCALTIME
per ottenere l'ora corrente senza l'offset del fuso orario.
SELECT LOCALTIME;
Ecco il risultato della query:
22:15:51.987914
Discussione:
La funzione PostgreSQL LOCALTIME
restituisce l'ora corrente sulla macchina che esegue PostgreSQL. Lo restituisce come tipo di dati temporali in 'hh:mm:ss.nnnnnn ' formato. In questo formato:
- hh è un'ora a 2 cifre.
- mm è un minuto a 2 cifre.
- ss è un secondo a 2 cifre.
- nnnnnn sono secondi frazionari (da zero a 6 cifre di precisione).
Come puoi notare, questa funzione non ha parentesi. Tuttavia, se si desidera visualizzare l'ora con una precisione specifica, utilizzare come argomento le parentesi con un numero intero compreso tra 0 e 6. Questo restituirà l'ora con il numero di secondi frazionari desiderato. Ad esempio, LOCALTIME(1)
denota solo un secondo frazionario (cioè una posizione dopo il decimale); 2 restituirà due posizioni, ecc. Il valore predefinito (senza parentesi o parentesi vuote) è sei, che è anche il numero massimo di secondi frazionari. Guarda il prossimo esempio:
SELECT LOCALTIME(0) ;
Ecco il risultato della query:
21:12:06
Questo risultato non contiene secondi frazionari perché mettiamo 0 come argomento.
LOCALTIME
restituisce l'ora in cui inizia la transazione corrente. La differenza tra LOCALTIME
e CURRENT_TIME
è che LOCALTIME non include l'offset del fuso orario.