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

Sådan får du den aktuelle tid (uden tidszone) i PostgreSQL

Problem:

Du vil gerne have den aktuelle tid i en PostgreSQL-database. Du vil ikke have tidszonen forskudt.

Løsning:

Vi bruger funktionen LOCALTIME for at få det aktuelle klokkeslæt uden tidszoneforskydning.

SELECT LOCALTIME;

Her er resultatet af forespørgslen:

	22:15:51.987914

Diskussion:

PostgreSQL-funktionen LOCALTIME returnerer den aktuelle tid på maskinen, der kører PostgreSQL. Det returnerer det som en tidsdatatype i 'hh:mm:ss.nnnnnn ' format. I dette format:

  • hh er en 2-cifret time.
  • mm er et 2-cifret minut.
  • ss er et 2-cifret sekund.
  • nnnnnn er brøkdele af sekunder (fra nul til 6-cifret præcision).

Som du bemærker, har denne funktion ingen parenteser. Men hvis du vil vise tiden med en bestemt præcision, skal du bruge parenteser med et heltal fra 0 til 6 som argument. Dette vil returnere tiden med det ønskede antal brøksekunder. For eksempel LOCALTIME(1) angiver kun et brøksekund (dvs. et sted efter decimalen); 2 vil returnere to pladser osv. Standardværdien (ingen parenteser eller tomme parenteser) er seks, hvilket også er det maksimale antal brøksekunder. Se på det næste eksempel:

SELECT LOCALTIME(0) ;

Her er resultatet af forespørgslen:

21:12:06

Dette resultat indeholder ikke brøkdele af sekunder, fordi vi sætter 0 som argument.

LOCALTIME returnerer det tidspunkt, hvor den aktuelle transaktion starter. Forskellen mellem LOCALTIME og CURRENT_TIME er, at LOCALTIME ikke inkluderer tidszoneforskydningen.


  1. Sådan kontrolleres MySQL-databasestørrelse i Linux

  2. De mest populære databasestyringssystemer i verden

  3. Sådan opretter du udenlandsk nøglebegrænsning med ON SLET CASCADE i SQL Server - SQL Server / TSQL vejledning del 80

  4. Sådan får du gårsdagens dato i T-SQL