2017-11-29 2 views
0

ない私はこの形式のようなデータベース値値MySQLの値の並べ替えが、このカラム型が日付型

premium_paid_date 
31-10-17 
30-10-17 
11-10-18 
31-08-18 
31-10-17 
25-11-17 

を有するが、それはタイプがVAR-チャーで保存しました。私の顧客はこのテーブルをORDER BY年によって望んでいます。最後の2桁とそれに続く月と日付に基づいています。どのように私は日付形式に変換せずにMySQLを使用してこれを注文することができます

+0

https://stackoverflow.com/questions/1861489/converting-a-date-in-mysql-from-string-field –

答えて

1

あなたの順序で文字列を日付順に変換することができます。等

SELECT Premium_paid_date TABLE_NAMEへ変換BY ORDER(日時、premium_paid_date、102)DESC

see date format

+0

があなたのためにあなたに感謝され、この問題を解決しました"#1064 - あなたはあなたのSQL構文に誤りがあります;あなたはあなたのSQL構文に誤りがあります。 '' userlogin'.premium_paid_date'の近くで使用するためのMariaDBサーバーのバージョンに対応するマニュアル)DESC LIMIT 0,25 'at line 1 " –

1

何か等:

SELECT [premium_paid_date] [DBO] FROM [premium_paid_date]。 オーダー・バイ・サブストリング(日付、5,6)

次に、日付の最後の2桁年)を入力します。

+0

日付形式に変換してからクエリを実行する必要があります。 –

+0

ああ、私は混乱しているあなたの質問では、 "日付形式に変換せずに"と言ったので、私はあなたが日付形式に変換したくないと思った!あなたはまだ部分文字列メソッドを使ってそれらを注文することができ、単純にそれらを日付の時間に変換することができます。カンガルーを肌になす方法がたくさんあります。 –

+0

ああ、私の間違いのために申し訳ありません。あなたはこのテーブルを注文するのを手伝ってくれます。 –

1

最終的に私は私の答えは

SELECT * FROM `tablename` order by STR_TO_DATE(premium_paid_date, '%d-%m-%Y') desc 
関連する問題