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

MySQLですべての列とともに「mm-yyyy」形式で月と年を抽出する方法

MySQLで「mm-yyyy」形式の月と年を抽出する方法

特定の形式で月と年を抽出したい場合は、DATE_FORMAT()関数とSTR_TO_DATE()関数を組み合わせて使用します。文字列として保存された日付データを一度日付型に変換し、その後目的の形式に整形するという流れになります。

まず、サンプル用のテーブルを作成しましょう。

mysql> create table DemoTable1931
(
ShippingDate varchar(40)
);
Query OK, 0 rows affected (0.00 sec)

次に、insertコマンドを使ってテーブルにレコードを挿入します。ここでは「dd-mm-yyyy」形式の日付文字列を格納しています。

mysql> insert into DemoTable1931 values('10-11-2017');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1931 values('31-01-2019');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1931 values('02-02-2018');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1931 values('10-06-2013');
Query OK, 1 row affected (0.00 sec)

select文でテーブル内のすべてのレコードを表示して確認します。

mysql> select * from DemoTable1931;

以下の出力が得られます。

+--------------+
| ShippingDate |
+--------------+
| 10-11-2017 |
| 31-01-2019 |
| 02-02-2018 |
| 10-06-2013 |
+--------------+
4 rows in set (0.00 sec)

月と年を「mm-yyyy」形式で抽出するクエリ

以下が、すべての列とともに「mm-yyyy」形式で月と年を抽出するクエリです。STR_TO_DATE()で「%d-%m-%Y」形式の日付文字列を日付型に変換し、DATE_FORMAT()で「%m-%Y」形式に整形しています。

mysql> select date_format(str_to_date(ShippingDate,'%d-%m-%Y'),'%m-%Y') from DemoTable1931;

実行すると、以下の出力が得られます。

+-----------------------------------------------------------+
| date_format(str_to_date(ShippingDate,'%d-%m-%Y'),'%m-%Y') |
+-----------------------------------------------------------+
| 11-2017 |
| 01-2019 |
| 02-2018 |
| 06-2013 |
+-----------------------------------------------------------+
4 rows in set (0.00 sec)

書式指定子の解説

クエリで使用している主な書式指定子は以下のとおりです。

  • %d:日(01〜31)
  • %m:月(01〜12)
  • %Y:4桁の年(例:2017)

なお、AS句を使ってエイリアスを指定すると、出力結果の列名を見やすくできます。

mysql> select date_format(str_to_date(ShippingDate,'%d-%m-%Y'),'%m-%Y') AS Month_Year from DemoTable1931;
  1. PHPのdate_parse()関数でタイムスタンプから日・月・年を抽出する方法

    date_parse()関数でタイムスタンプを解析するPHPでタイムスタンプ(日時文字列)から日・月・年を抽出するには、date_parse() 関数を使用します。この関数は日時文字列を解析し、年・月・日・時・分・秒などの情報を連想配列として返してくれます。基本構文は以下の通りです。print_r(date_parse(anyTimeStampValue));サンプルコード具体的なタイムスタンプ値を解析するPHPコードは以下のようになります。$yourTimeStampValue="2019-02-04 12:56:50"; print_r(date_parse($your

  2. MySQLで当月・当年の初めからのバウチャー値の合計を集計する方法

    MySQLで「今月の初めから」や「今年の初めから」の期間に含まれるデータを対象に、バウチャー値(VoucherValue)の合計を求めたい場合には、MONTH() 関数と YEAR() 関数を組み合わせて使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、具体的なSQLクエリの書き方を順番に解説していきます。 1. サンプルテーブルの作成 まずは、バウチャー値とチャージ日付を格納するテーブルを作成しましょう。 mysql> create table DemoTable1562     -> (