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

Sådan konverteres en streng til et tidsstempel i PostgreSQL

Problem:

Du vil gerne konvertere en streng, der indeholder oplysninger om dato og klokkeslæt, til et tidsstempel i PostgreSQL.

Lad os konvertere en streng, der indeholder oplysninger om dato, klokkeslæt og tidszone, til datatypen timestamptz.

Løsning:

Vi bruger TO_TIMESTAMP() fungere. Her er den forespørgsel, du ville skrive:

SELECT TO_TIMESTAMP('2018/08/27/15:23:45', 'YYYY/MM/DD/HH24:MI:ss')
          AS  new_timestamptz;

Her er resultatet af forespørgslen:

new_timestamptz
2018-08-27 15:23:45+02

Diskussion:

Brug PostgreSQL-funktionen TO_TIMESTAMP() når du vil konvertere en streng indeholdende dato- og tidsdata til tidsstemplet datatype. Denne funktion tager to argumenter:en streng, der indeholder en dato og et klokkeslæt (i vores eksempel er teksten '2018/08/27/15:23:45 ') og inputformatet (i vores eksempel, 'YYYY/MM/DD/HH24:MI:ss ’). Indtastningsformatet angiver, hvordan tegnene i strengen skal konverteres. Her er hovedelementerne fra ovenstående mønster:

  • ÅÅÅÅ repræsenterer et 4-cifret årstal.
  • MM repræsenterer en 2-cifret måned.
  • DD repræsenterer en 2-cifret dag i måneden.
  • HH24 repræsenterer en 2-cifret time (fra 00 til 23).
  • MI repræsenterer et 2-cifret minut (fra 00 til 59).
  • ss repræsenterer et 2-cifret sekund (fra 00 til 59).

Bemærk, at vi bruger skråstreger (/) som datodel-afgrænsninger og koloner (:) som tidsdel-afgrænsninger. Du kan finde en komplet liste over datetime-mønsterelementer i PostgreSQL-dokumentationen.

Bemærk, at inputformatet er en streng. Funktionen TO_TIMESTAMP() returnerer en tidsstempel værdi med tidszoneoplysninger.

I vores eksempel er teksten dato og klokkeslæt '2018/08/27/15:23:45 'blev konverteret til tidsstemplet værdi 2018-08-27 15:23:45+02 . tidsstemplet datatypen er mere læsbar.


  1. Migrering fra MySQL til PostgreSQL

  2. SQL INSERT INTO... VÆLG eksempler

  3. Postgres SSLMode-værdi kræver ugyldig, når SSL-understøttelse ikke er kompileret ved hjælp af udenlandsk dataindpakning

  4. Hvordan kan jeg indsætte 10 millioner poster på kortest mulig tid?