to_dateアレンジdd / MM / yyy

Dec 18 2020

10/12/2020 13:14:39日付形式に変換したい文字列として列があります(後でリファクタリングツールを使用して変換します)。まず、これを再配置して、時間を破棄し、dd/MM/yyyyをとして配置する必要がありyyyy/MM/ddます。

フィールド計算機を使用していますが、どうすればよいですか?

私は試しましたがto_date("CreatedAt", 'dd/MM/yyyy')format_date("CreatedAt", 'dd/MM/yyyy')どちらも正しい結果を出していません。

回答

3 DaveX Dec 18 2020 at 02:19

日時文字列から始めているので、それを完全に解析し、結果をプレーンな日付文字列として1つのステップでフォーマットできます。

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

または

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

Edit/Select/Select by Expression下のウィンドウの「プレビュー: '2020/12/10'」に注意してください:

QGISto_datato_datetime式のformat属性とその解析に関するドキュメントはQTにあります。https://doc.qt.io/qt-5/qdate.html#fromString-1 そして https://doc.qt.io/qt-5/qtime.html#toString。あなたはQGIS式関数の説明テキストを通してそれらへの道を見つけることができます。

1 SpatialDigger Dec 18 2020 at 00:51

確かにもっと良い方法があります、ランダムな推測の後、私はこれを手に入れました。

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

人々にこれを行うためのより雄弁な方法の機会を与えるために、私はこれをしばらくここに残しておきます。