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.