2016-04-27 6 views
0

私は2014-12-30のような日付フィールドを持っていました。EXTRACT(YEAR_MONTH FROM date) as yr_monthのようなものがあり、201412のような値を返しました。MYSQLのリバースエンジニアリング

私はこの新しい値から月を取得したいと思います。逆のエンジニアリングを月に戻したいと思います。私はMONTH(yr_mnth)MONTH(RIGHT(yr_mnth, 2))を試しました。

このフィールドから月を取得する方法についてのご意見はありますか?

+0

MONTH(<元の日付フィールド>)を使用しない理由は何ですか? –

+0

元の日付フィールドは私が望むものではありません。この抽出は、顧客が顧客になった「コホート」を示す「MIN(日付)」で行われた。私は戻っていくつかの編集をすることができますが、データはこのEXTRACT()が月と年にうまく集約されています。私はそれが不可能でない限り、EXTRACTを使って作業することについての解決策を見つけることを好むでしょう。 –

+0

これはおそらくあなたの旅のお手伝いをします: STR_TO_DATE(yr_mnth、 '%Y%m') –

答えて

2

は、以下のことを試してみてください。

SELECT MONTHNAME(STR_TO_DATE(RIGHT(yr_mnth, 2), '%m')); 

これは、月の番号から、あなたにMONTHNAMEを取得します。ご覧のとおり、MySQL MONTHNAME() from numbers

+0

パーフェクト、まさに私が必要としていた、ありがとう。 –

関連する問題