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

Come convertire una stringa in una data in PostgreSQL

Problema:

Vorresti convertire una stringa contenente una data nella data di PostgreSQL tipo di dati.

Convertiamo una stringa di data nella data tipo di dati invece del testo corrente tipo di dati.

Soluzione:

Ecco l'esempio 1 di come utilizzare TO_DATE() funzione. Questa è la domanda che scriveresti:

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

Ed ecco il risultato della query:

new_date
04-03-2002

Diamo un'occhiata all'esempio 2 di TO_DATE() funzione. Notare il formato della data leggermente diverso:

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

Ecco il risultato della query:

new_date
07-06-2015

Discussione:

Usa la funzione TO_DATE() per convertire un valore di testo contenente una data nella data tipo di dati. Questa funzione accetta due argomenti:

  1. Un valore di data. Può essere una stringa (un valore di testo) o una colonna di testo contenente informazioni sulla data. Nel nostro esempio, abbiamo utilizzato le stringhe '20020304' e '2015/06/07' .
  2. Il formato della data di input. Nel nostro esempio, abbiamo usato 'YYYYMMDD' e 'YYYY/MM/DD' . Nota che il formato di input è una stringa.

Il formato di input decide come PostgreSQL elaborerà i caratteri nella stringa in cui è memorizzata la data. Lo specificatore 'YYYY' come i primi quattro caratteri indica che questi rappresentano un anno a 4 cifre. Successivamente, "MM" rappresenta un mese a 2 cifre e "DD" un giorno a 2 cifre. Puoi trovare un elenco di tutti gli specificatori nella documentazione di PostgreSQL.

Nell'esempio 1, la stringa data come "20020304 ' è stato convertito nella data '2002-03-04' (una data tipo di dati. Nell'esempio 2, la stringa '2015/06/07' è stato convertito nella data '2015-06-07' . Nel secondo esempio, abbiamo usato la barra / tra le parti della data per convertire correttamente da una stringa alla data tipo di dati.