0

2015-01-18t10:00:10z のような ISO 8601 時刻形式を含む varchar フィールドを持つテーブルがあります。

使うことができます

select STR_TO_DATE('2015-01-18t10:00:10z','%Y-%m-%dt%H:%i:%s') 

そして正しい結果を得る:

2015-01-18 10:00:10

これを使用して DATETIME フィールドに挿入すると、次のようになります。

update test set optin1 = STR_TO_DATE(optin,'%Y-%m-%dt%H:%i:%s')

エラー コード: 1292 切り捨てられた正しくない日時値: '2015-01-18t10:00:10z'

Optinvarchar ISO 8601 時間列です

Optin1更新する DATETIME フィールドです。

なぜこれがハペニグなのか、問題を解決する方法を知っている人はいますか?

どうもありがとう。

4

1 に答える 1

1

パターンに「z」を追加する必要があります。

update test set optin1 = STR_TO_DATE(optin,'%Y-%m-%dt%H:%i:%sz')

http://sqlfiddle.com/#!9/ea601/1

于 2015-01-23T11:14:45.497 に答える