2017-07-12 14 views
-1

開発者が私たちのためにテーブルを作成し、VARCHAR(255)の日付フィールドと "Requested Ship Date"のフィールド名を作成しました。str_to_date for mysqlの異常な結果

最初はそうですが、これらの両方が悪いデータベース管理であることはわかっていますが、私は作成時点では関与していませんでした。

だから、私は日付の値にこのフィールドを変換しようとしています、とSTR_TO_DATE(Requested Ship Date,"%m/%d/%y")を使用していた(それはコード内の正しい構文を持っている)

問題は、私は奇妙な結果を取得しています。 'Requested Ship Date' = 2020年5月31日に変換された後の2014年5月31日

ありがとうございます。

+1

日付を日付として保存し、この愚かさですべてを止めてください – Strawberry

答えて

1

%yは、世紀のない年です。%Yは、で、世紀です。

ので、2017年は2020年

+0

日付を5/31/20の形式にして2020-05-31の形式で入力しないでください。 – DragonRider

+0

あなたのコードを正しく読んでいるなら、あなたはフォーマットを「MM/DD/YY」から*に変換することを求めています。 – tadman

0

である、'20として解釈されているこれは私が私のクエリから取得していた結果である

2017年5月30日2017年5月31日2017年5月30日ここで

2017年5月31日2017年5月31日2017年5月31日

2017年5月30日2017年5月31日2017年5月30日には、クエリの実際のコードです

select `Requested Ship Date`, 
      `Actual Post Goods Issue date`, 
      STR_TO_DATE(`Requested Ship Date`,'%m/%d/%Y') 
    FROM  `previous day shipments` 
    WHERE  LENGTH(`Serial Number`) = 0 
関連する問題