MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

MySQL を使用する場合、日付は通常、datetime や timestamp などの形式で保存されます。ただし、特別なニーズや歴史的な理由により、日付が varchar 形式で保存されることがあります。では、この varchar 形式の日付データをどのように処理すればよいのでしょうか。

関数を使用する: STR_TO_DATE(str, format)

STR_TO_DATE(str, format) 関数は、DATE_FORMAT() 関数の逆関数です。文字列 str とフォーマット文字列 format を受け取ります。 STR_TO_DATE() は、書式文字列に日付と時刻の両方の部分が含まれている場合は DATETIME 値を返し、文字列に日付または時刻の部分のみが含まれている場合は日付または時刻の値を返します。

これを説明するために事例を見てみましょう。

たとえば、現在メンバーシップ テーブルがあり、テーブルの構造は次のようになります。

テーブルに次のデータを作成しました:

さて、2018 年 8 月に登録したメンバー全員を選択し、登録時間順に並べ替える必要がある場合は、どうすればよいでしょうか?参考資料は次のとおりです:

ID、ニックネーム、作成時刻を選択 
メンバーより
str_to_date(createtime, '%Y-%m-%d') が str_to_date('2018-08-01', '%Y-%m-%d') と str_to_date('2018-08-31', '%Y-%m-%d') の間にある
ORDER BY str_to_date(createtime, '%Y-%m-%d')

実行結果は次のとおりです。

要約: STR_TO_DATE(str, format) 関数は、データベース内の varchar 日付データを DATETIME 日付データに変換できます。変換プロセス中は、format パラメータが str の形式に対応している必要があることに注意してください。その後、比較、並べ替え、その他の操作を実行できます。

MySQL における varchar 型の日付の比較やソートなどの操作の実装に関するこの記事はこれで終わりです。より関連性の高い mysql varchar 型の比較とソートのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL データベース内の varchar 型の数値のサイズを比較する方法
  • Mysql の varchar 型に関する注意点
  • MySQL の char、varchar、text フィールド タイプの違い
  • Mysql varchar型の合計操作例
  • MySQL データ型 varchar の詳細な説明

<<:  浮遊する雲のアニメーションを実現するCSS3

>>:  Vue 学習 - VueRouter ルーティングの基礎

推薦する

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

Dockerプライベートライブラリの実装

プライベート Docker レジストリのインストールとデプロイは、Docker テクノロジーを導入、...

MySQLの空の値とnull値の違いを知っていますか?

序文最近、友人がSQLを書くときにnull値を判定する方法が間違っていて、プログラム内のデータにエラ...

MySQLのグローバルロックとテーブルロックに関する詳細な理解

序文ロックの範囲に応じて、MySQL のロックは、グローバル ロック、テーブル ロック、行ロックに大...

IE6 で幅と高さがおかしいバグ

図に示すように: しかし、IE6で表示すると、right:1px:になります。 IE6 には、幅と高...

エンタープライズプロダクション MySQL 最適化入門

Oracle、DB2、SQL Server などの他の大規模データベースと比較すると、MySQL に...

MySQL データベースの基礎: 基本コマンドの概要

目次1. ヘルプ情報を使用する2. データベースの作成、削除、表示3. データベースに接続する4. ...

Centos6.5 glibc アップグレードプロセスの紹介

目次シナリオ要件glibc バージョンglibcのインストールglibc ソフトリンクシナリオ要件C...

Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明

vim の動作モードを設定する (一時的) :set (モード情報) :set nu — 行番号を表...

デスクトップ仮想化を実現するために Hyper-V を展開する手順 (グラフィック チュートリアル)

Hyper-V を展開するためのハードウェア要件は次のとおりです。 64 ビット プロセッサ、具体...

よく使われるLinuxコマンド「ll」が無効、またはコマンドが見つからないという問題を解決します

質問:よく使用されるコマンド「ll」が無効であるか、コマンドが見つかりません理由: 「ll」コマンド...

Linux システムに 3 つ以上の Tomcat をインストールする (詳細な手順)

複数のTomcatをインストールする場合は、システムにJDKがインストールされている必要があり、 T...

JavaScript の setTimeout と setTimeinterval の使用例の説明

どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに...

重複データの処理に関するMySQL学習ノート

MySQLは重複データを処理します一部の MySQL テーブルには重複レコードが含まれている場合があ...

Redux Toolkit で Redux を簡素化する方法

目次Redux Toolkitが解決する問題何が含まれていますか? Redux Toolkit AP...