mysql の使用中、日付は通常 datetime、timestamp、およびその他の形式で保存されますが、特別なニーズや歴史的な理由により、日付の保存形式が varchar になる場合があります。この varchar 形式はどのように処理すればよいでしょうか?日付データ?
使用関数: STR_TO_DATE(str, format)
DATE_FORMAT() 関数の逆関数は、STR_TO_DATE(str, format) 関数です。文字列 str とフォーマット文字列 format を受け取ります。 STR_TO_DATE() は、形式文字列に日付と時刻のコンポーネントが含まれる場合は DATETIME 値を返し、文字列に日付または時刻のコンポーネントのみが含まれる場合は日付または時刻の値を返します。
以下に例を示します。
たとえば、メンバーシップ テーブルがあります。テーブルの構造は次のとおりです:
テーブル内に次のデータを作成しました。 :
2018 年 8 月に登録されたメンバーをすべて選択し、登録時刻順に並べ替える必要がある場合は、どうすればよいですか?参考はこちらです:
SELECT id,nickname,createtime FROM member WHERE str_to_date(createtime, '%Y-%m-%d') BETWEEN str_to_date('2018-08-01', '%Y-%m-%d') AND str_to_date('2018-08-31', '%Y-%m-%d') ORDER BY str_to_date(createtime, '%Y-%m-%d')
実行結果は以下の通りです:
以上がmysql で varchar 型を使用して日付比較、並べ替え、その他の操作を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。