PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come ottenere l'ora corrente in PostgreSQL

Problema:

Vorresti ottenere l'ora corrente con il relativo fuso orario in un database PostgreSQL.

Soluzione:

Utilizzeremo la funzione CURRENT_TIME per ottenere le informazioni sull'ora e sul fuso orario correnti. Ecco la domanda che scriveresti:

SELECT CURRENT_TIME;

Ecco il risultato della query:

16:10:11.232455-05

Discussione:

La funzione PostgreSQL CURRENT_TIME restituisce l'ora corrente e l'offset del fuso orario della macchina su cui è in esecuzione PostgreSQL. Viene fornito come valore in 'hh:mm:ss.nnnnnn+/-tz' formato. In questo formato:

  • hh è un'ora a 2 cifre.
  • mm è un minuto a 2 cifre.
  • ss è un secondo a 2 cifre.
  • nnnnnn definisce il numero di secondi frazionari (cioè la precisione) da 0 a 6.
  • +tz o -tz è l'offset del fuso orario, più o meno da UTC.

CURRENT_TIME non ha parentesi. Tuttavia, se si desidera visualizzare l'ora con una precisione specifica, è possibile aggiungere parentesi e racchiudere un numero intero compreso tra 0 e 6. (Un argomento "0" non restituirà secondi frazionari, "1" restituirà un secondo frazionario (ad es. posto dietro il decimale), ecc. Questo restituirà l'ora con il numero dichiarato di secondi frazionari e l'offset del fuso orario. Guarda il prossimo esempio:

SELECT CURRENT_TIME(2) ;

Ecco il risultato della query:

16:10:11.23-05

Questo risultato contiene un secondo frazionario a 2 cifre perché mettiamo 2 come argomento. L'offset del fuso orario viene visualizzato come positivo o negativo (+ o -) a seconda che l'ora sia avanti o indietro rispetto all'ora UTC.

Il tempo restituito da questa funzione non cambia durante le transazioni o una singola query. È sempre il momento in cui la transazione è iniziata.