2

日時をChar(30)としてテーブルに格納していて、それらをmysql標準の日時形式に変換したいと思います。

だから私はこれを試しました

   SELECT STR_TO_DATE(next_attempt, '%Y-%m-%d %T') as date FROM Table LIMIT 10;

これは常にNullを返します!これは現在の形式(5/16/2011 20:14)なので、char(30)フィールドに(5/16/2011 20:14)があり、(2011-05-16 20: 14:00)

Nullを返し続けるために私が間違っていることは何ですか?

ありがとう

4

1 に答える 1

4

「/」を「,」に置き換えて、「%m,%d,%Y %T」を使用してみてください

STR_TO_DATE(replace('5/16/2011 20:14','/',','),'%m,%d,%Y %T')

ここでうまくいきます:

select STR_TO_DATE(replace('5/16/2011 20:14','/',','),'%m,%d,%Y %T') as date from dual
于 2013-03-07T19:54:06.487 に答える