sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man konverterar en sträng till ett datum i PostgreSQL

Problem:

Du vill konvertera en sträng som innehåller ett datum till PostgreSQL datum datatyp.

Låt oss konvertera en datumsträng till datum datatyp istället för dess nuvarande text datatyp.

Lösning:

Här är exempel 1 på hur du använder TO_DATE() fungera. Det här är frågan du skulle skriva:

SELECT TO_DATE('20020304', 'YYYYMMDD') AS  new_date;

Och här är resultatet av frågan:

nytt_datum
2002-03-04

Låt oss titta på exempel 2 av TO_DATE() fungera. Lägg märke till det något annorlunda datumformatet:

SELECT TO_DATE('2015/06/07', 'YYYY/MM/DD') AS  new_date;

Här är resultatet av frågan:

nytt_datum
2015-06-07

Diskussion:

Använd funktionen TO_DATE() för att konvertera ett textvärde som innehåller ett datum till datumet data typ. Denna funktion tar två argument:

  1. Ett datumvärde. Detta kan vara en sträng (ett textvärde) eller en textkolumn som innehåller datuminformation. I vårt exempel använde vi strängarna '20020304' och '2015/06/07' .
  2. Inmatningsdatumformatet. I vårt exempel använde vi 'YYYYMMDD' och 'YYYY/MM/DD' . Lägg märke till att inmatningsformatet är en sträng.

Inmatningsformatet avgör hur PostgreSQL kommer att behandla tecknen i strängen där datumet lagras. Specifikationen 'ÅÅÅÅ' som de första fyra tecknen indikerar att dessa representerar ett 4-siffrigt årtal. Därefter representerar 'MM' en tvåsiffrig månad och 'DD' en tvåsiffrig dag. Du kan hitta en lista över alla specifikationer i PostgreSQL-dokumentationen.

I exempel 1, strängdatumet som "20020304 ’ konverterades till datum '2002-03-04' (ett datum data typ. I exempel 2, strängen '2015/06/07' konverterades till datumet '2015-06-07' . I det andra exemplet använde vi snedstrecket / mellan datumdelar för att korrekt konvertera från en sträng till datum datatyp.


  1. Mysql-databassynkronisering mellan två databaser

  2. Infoga flera rader i en tabell baserat på antalet i en annan tabell

  3. Spara utdata från sql-funktionen till csv-fil (COPY) med dynamiskt filnamn

  4. Konfigurera ett dedikerat nätverk för tillgänglighetsgruppkommunikation