to_date mengatur hh / MM / yyy

Dec 18 2020

Saya memiliki kolom sebagai string 10/12/2020 13:14:39saya ingin mengubahnya menjadi format Tanggal (saya akan melakukannya dengan menggunakan alat refactor nanti). Pertama saya perlu mengatur ulang ini sehingga waktu akan terbuang dan dd/MM/yyyydiatur seperti yyyy/MM/dd.

Saya menggunakan kalkulator lapangan, bagaimana cara melakukannya?

Saya sudah mencoba to_date("CreatedAt", 'dd/MM/yyyy')dan format_date("CreatedAt", 'dd/MM/yyyy')tidak memberikan hasil yang benar.

Jawaban

3 DaveX Dec 18 2020 at 02:19

Karena Anda memulai dengan string tanggal waktu, Anda dapat menguraikannya sepenuhnya dan memformat hasilnya sebagai string tanggal biasa dalam satu langkah:

format_date(to_datetime('10/12/2020 13:14:39',
   'dd/MM/yyyy HH:mm:ss'),
   'yyyy/MM/dd')

atau

format_date(to_datetime("CreatedAt",'dd/MM/yyyy HH:mm:ss'),'yyyy/MM/dd')

(Perhatikan "Pratinjau: '2020/12/10'" di Edit/Select/Select by Expressionjendela di bawah ini:

Dokumentasi untuk QGIS to_datadan atribut to_datetimeekspresi formatdan parsingnya ada di QT ashttps://doc.qt.io/qt-5/qdate.html#fromString-1 dan https://doc.qt.io/qt-5/qtime.html#toString. Anda dapat menemukan cara Anda untuk itu melalui teks deskripsi fungsi ekspresi QGIS.

1 SpatialDigger Dec 18 2020 at 00:51

Tentunya ada cara yang lebih baik, setelah tebakan acak saya mendapatkan ini.

Substr("CreatedAT",0,-9)
To_date("CreatedAt", format('dd/MM/yyyy'))
Format_date("EndDate",'yyyy/MM/dd')

Saya akan meninggalkan ini di sini sebentar untuk memberi orang kesempatan cara yang lebih fasih untuk melakukan ini.