Problem:
Chcesz przekonwertować ciąg znaków zawierający datę na datę PostgreSQL typ danych.
Przekształćmy ciąg daty na datę typ danych zamiast bieżącego tekstu typ danych.
Rozwiązanie:
Oto przykład 1 użycia funkcji TO_DATE() funkcjonować. Oto zapytanie, które byś napisał:
SELECT TO_DATE('20020304', 'YYYYMMDD') AS new_date;
A oto wynik zapytania:
| nowa_data |
|---|
| 2002-03-04 |
Spójrzmy na przykład 2 TO_DATE() funkcjonować. Zwróć uwagę na nieco inny format daty:
SELECT TO_DATE('2015/06/07', 'YYYY/MM/DD') AS new_date;
Oto wynik zapytania:
| nowa_data |
|---|
| 07.06.2015 |
Dyskusja:
Użyj funkcji TO_DATE() przekonwertować wartość tekstową zawierającą datę na datę typ danych. Ta funkcja przyjmuje dwa argumenty:
- Wartość daty. Może to być ciąg (wartość tekstowa) lub kolumna tekstowa zawierająca informacje o dacie. W naszym przykładzie użyliśmy ciągów
'20020304'i'2015/06/07'. - Format daty wejściowej. W naszym przykładzie użyliśmy
'YYYYMMDD'i'YYYY/MM/DD'. Zauważ, że formatem wejściowym jest ciąg znaków.
Format wejściowy decyduje o tym, jak PostgreSQL będzie przetwarzał znaki w ciągu, w którym przechowywana jest data. Specyfikator „RRRR” jako pierwsze cztery znaki wskazuje, że reprezentują one 4-cyfrowy rok. Następnie „MM” oznacza dwucyfrowy miesiąc, a „DD” dwucyfrowy dzień. Listę wszystkich specyfikatorów można znaleźć w dokumentacji PostgreSQL.
W przykładzie 1 data ciągu jako „20020304 ’ został przekonwertowany na datę '2002-03-04' (data typ danych. W przykładzie 2 ciąg '2015/06/07' został przekonwertowany na datę '2015-06-07' . W drugim przykładzie użyliśmy ukośnika / między częściami daty, aby poprawnie przekonwertować z ciągu na datę typ danych.