sql >> Databáze >  >> RDS >> PostgreSQL

Jak převést řetězec na datum v PostgreSQL

Problém:

Chcete převést řetězec obsahující datum na PostgreSQL date datový typ.

Převedeme řetězec data na datum datový typ namísto jeho aktuálního textu datový typ.

Řešení:

Zde je příklad 1, jak použít TO_DATE() funkce. Toto je dotaz, který byste napsali:

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

A zde je výsledek dotazu:

new_date
2002-03-04

Podívejme se na příklad 2 TO_DATE() funkce. Všimněte si mírně odlišného formátu data:

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

Zde je výsledek dotazu:

new_date
2015-06-07

Diskuse:

Použijte funkci TO_DATE() pro převod textové hodnoty obsahující datum na datum datový typ. Tato funkce má dva argumenty:

  1. Hodnota data. Může to být řetězec (textová hodnota) nebo textový sloupec obsahující informace o datu. V našem příkladu jsme použili řetězce '20020304' a '2015/06/07' .
  2. Formát vstupního data. V našem příkladu jsme použili 'YYYYMMDD' a 'YYYY/MM/DD' . Všimněte si, že vstupní formát je řetězec.

Vstupní formát rozhoduje o tom, jak PostgreSQL zpracuje znaky v řetězci, kde je uloženo datum. Specifikátor „YYYY“ jako první čtyři znaky znamená, že představují 4místný rok. Dále „MM“ představuje 2místný měsíc a „DD“ 2místný den. Seznam všech specifikátorů najdete v dokumentaci PostgreSQL.

V příkladu 1 je datum řetězce „20020304 “ bylo převedeno na datum '2002-03-04' (datum datový typ. V příkladu 2 řetězec '2015/06/07' byl převeden na datum '2015-06-07' . Ve druhém příkladu jsme použili lomítko / mezi částmi data, aby se správně převedl z řetězce na datum datový typ.


  1. Existují nevýhody použití obecného varchar(255) pro všechna textová pole?

  2. Jak exportovat data z Oracle SQL Developer do Excelu?

  3. Jak uniknout čárce a dvojité uvozovce současně pro soubor CSV?

  4. Microsoft SQL Server – Připojte se ke mně na SQL Saturday Dallas