Forum QGIS
"data" do 'data' - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: "data" do 'data' (/thread-1882.html)



"data" do 'data' - gazownik - 28-05-2020

mam bazę danych w której kolumna "data" jest w formacie string. chciałbym ją prze konwertować do formatu prawidłowego czyli data. z początku wydawało mi się tą rzeczą trywialną ale okazało się, że zwykłe kopiowanie do kolumny o innym formacie nie działa...


RE: "data" do 'data' - xmaziax - 28-05-2020

Kod:
Funkcja to_date
Konwertuje ciąg znaków na obiekt typu data. Opcjonalnie można podać ciąg znaków jako wzór formatu, który zostanie zastosowany do parsowania. Zobacz QDate::fromString, aby sprawdzić dostępne opcje formatu.
Składnia
to_date(string[,format][,language])

[ ] oznacza elementy opcjonalne
Argumenty

string
ciąg znaków reprezentujący datę
format
format używany do konwersji ciągu znaków na datę
language
język (małymi literami, dwu- lub trzy-literowy kod języka ISO 639) wykorzystywany do konwertowania ciągu znaków na datę↓

Przykłady
to_date('2012-05-04') → 2012-05-04
to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29
to_date('29 juin, 2019','d MMMM, yyyy','fr') → 2019-06-29



RE: "data" do 'data' - gazownik - 29-05-2020

próbowałem już wcześniej korzystać z funkcji to_date. wyjaśniłeś to tak, że wydaje się łatwe ale dalej coś mi nie działą.
mam kolumnę data gdzie wartości są wpisywane ręcznie w układzie 01.02.2020 więc w celu konwersji tej kolumny do nowej próbuję użyć { to_date(data , 'dd.mm.yyyy') } - błąd - za dużo argumentów - (po przekopiowaniu drugiej formuły którą napisałeś też pokazuje ten sam błąd :/ )


RE: "data" do 'data' - xmaziax - 01-06-2020

Ja tylko przekleiłem opis funkcji, który jest w QGIS Smile
Właściwie każda funkcja ma taki opis i przykład użycia.

Twój problem można rozwiązać np w ten sposób
Kod:
to_date(substr(  "DATA" ,7,4)|| '-'||  substr(  "DATA" ,4,2)||'-'||substr(  "DATA" ,1,2))

gdzie DATA to kolumna tekstowa w postaci    dd.mm.yyyy


RE: "data" do 'data' - gazownik - 29-06-2020

działa! kolejny raz z tego korzystam a zapomniałem podziękować. Dziękuję! :P