0

SQL テーブルにcreate_dateという列があり、データ型はvarchar(225)です。私の問題は、列の値が異なる日付形式であることです添付の画像を確認してください ここに画像の説明を入力

create _date columnを使用して、 constant_date_formatで別の列を作成したいのですが、方法はありますか?

私はmysql str_to_date関数を試しました:

STR_TO_DATE(create_date, '%m/%d/%Y') 

create_date 列が同じ日付形式の場合、機能しています。

4

2 に答える 2

1

データが例のようなものである場合、それを行うことは不可能です。create_dateに valueの行があるかどうかを検討してください8.1.2017: そのためのconstant_date_formatは何ですか? それ1/8/20178/1/2017

少なくとも、固定の日/月の順序をcreate_dateで定義しています。次に、REPLACEon create_dateを使用して、常にスラッシュまたはドットを使用するようにし、最後STR_TO_DATEに日付に変換します。たとえば、create_dateが 1 か月前の日付であると判断した場合は、次のようにすることができます。

STR_TO_DATE(REPLACE(create_date, '.', '/'), '%m/%d/%Y')
于 2017-08-18T07:34:30.750 に答える