to_date organizando dd / MM / aaaa

Dec 18 2020

Eu tenho uma coluna como uma string 10/12/2020 13:14:39que quero convertê-la no formato de data (farei isso usando a ferramenta de refatoração mais tarde). Primeiro, preciso reorganizar isso para que o tempo seja descartado e o dd/MM/yyyyseja organizado como yyyy/MM/dd.

Estou usando a calculadora de campo, como faço isso?

Já tentei to_date("CreatedAt", 'dd/MM/yyyy')e format_date("CreatedAt", 'dd/MM/yyyy')nem dei o resultado correto.

Respostas

3 DaveX Dec 18 2020 at 02:19

Como você está começando com uma string de data e hora, pode analisá-la totalmente e formatar o resultado como uma string de data simples em uma etapa:

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

ou

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

(Observe a "Visualização: '2020/12/10'" na Edit/Select/Select by Expressionjanela abaixo:

A documentação para o QGIS to_datae to_datetimeo formatatributo da expressão e sua análise está no QT comohttps://doc.qt.io/qt-5/qdate.html#fromString-1 e https://doc.qt.io/qt-5/qtime.html#toString. Você pode encontrar o seu caminho através do texto de descrição da função de expressão QGIS.

1 SpatialDigger Dec 18 2020 at 00:51

Certamente há uma maneira melhor, depois de um palpite aleatório, consegui isso.

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

Vou deixar isso aqui por um tempo para dar às pessoas a chance de uma maneira mais eloqüente de fazer isso.