MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで文字列を日付に変換する方法【STR_TO_DATE()関数の使い方】

MySQLでは、STR_TO_DATE()関数を使うことで、文字列を日付型に簡単に変換できます。本記事では、テーブルの作成からデータの挿入、実際の変換処理まで、具体例を交えて順番に解説していきます。

テーブルの作成

まずは、日付文字列を格納するためのサンプルテーブルを作成します。

mysql> create table StringToDateDemo
   -> (
   -> YourDate varchar(100)
   -> );
Query OK, 0 rows affected (0.49 sec)

テーブルへのレコード挿入

次に、「10/27/2018」という形式(月/日/年)で書かれた日付文字列を挿入します。

mysql> insert into StringToDateDemo values('10/27/2018');
Query OK, 1 row affected (0.11 sec)

STR_TO_DATE()関数の基本構文

文字列を日付に変換するための基本的な構文は以下のとおりです。

SELECT STR_TO_DATE(yourColumnName, '%m/%d/%Y')
FROM yourTableName;

第1引数には対象のカラム名、第2引数には元の文字列の形式に合わせたフォーマット指定子を指定します。今回使用している主なフォーマット指定子は次のとおりです。

  • %m:月(01~12)
  • %d:日(00~31)
  • %Y:4桁の年(例:2018)

実行例

それでは、実際にSTR_TO_DATE()関数を使って文字列を日付に変換してみましょう。

mysql> SELECT STR_TO_DATE(YourDate, '%m/%d/%Y')
    -> FROM StringToDateDemo;

実行結果

+-----------------------------------+
| STR_TO_DATE(YourDate, '%m/%d/%Y') |
+-----------------------------------+
| 2018-10-27                        |
+-----------------------------------+
1 row in set (0.00 sec)

「10/27/2018」という文字列が「2018-10-27」という標準的な日付形式(YYYY-MM-DD)に正しく変換されていることが確認できます。このようにSTR_TO_DATE()関数を活用すれば、さまざまな形式の日付文字列をMySQLの日付型へ柔軟に変換でき、日付による検索やソートなどの処理もスムーズに行えるようになります。

  1. MySQLで日付形式を変換する方法|STR_TO_DATE()関数の使い方を解説

    MySQLでは、VARCHAR型などで保存された文字列の日付データを、正しい日付・時刻形式に変換したいケースがよくあります。そんなときに活躍するのが STR_TO_DATE() 関数です。この記事では、実際のSQL例とともに具体的な使い方を解説します。サンプルテーブルの作成まず、日付を文字列として格納するテーブルを作成します。mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec)テストデータの挿入INSERT文を使って、「日/月/年 時:分:秒」

  2. 【Python入門】strptimeを使って日付文字列をdateオブジェクトに変換する方法

    Pythonでは、datetimeモジュールのstrptime関数を使うことで、文字列形式の日付データを簡単にdatetimeオブジェクトへ変換できます。この関数には、変換したい日付の文字列と、その日付がどのような書式で記述されているかを示すフォーマット指定子の2つの引数を渡します。基本的な使い方(サンプルコード)以下の例では、「2017年12月29日」という日付が「29122017」という文字列として表現されている場合に、それを日付オブジェクトへ変換しています。import datetime date_str = 29122017 # 日付文字列(2017年12月29日) format