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

【MySQL】DATETIME型の日時から「分」だけを抽出するクエリの書き方

MySQLでは、MINUTE()関数を使うことで、DATETIME型の日時データから「分」の部分だけを簡単に取り出すことができます。この記事では、実際にテーブルを作成し、日時から分を取得する手順をサンプルコード付きで解説します。

1. サンプルテーブルの作成

まず、以下のコマンドでテーブルを作成しましょう。

mysql> create table DemoTable
-> (
-> ShippingDate datetime
-> );
Query OK, 0 rows affected (0.52 sec)

2. レコードの挿入

次に、INSERTコマンドを使ってテーブルにいくつかのレコードを追加します。

mysql> insert into DemoTable values('2019-01-10 10:04:45');
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable values('2019-06-11 05:45:00');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable values('2019-06-12 07:00:55');
Query OK, 1 row affected (0.14 sec)

3. テーブル内の全レコードを表示する

SELECT文を実行して、登録済みのすべてのレコードを確認してみましょう。

mysql> select *from DemoTable;

実行結果

+---------------------+
| ShippingDate |
+---------------------+
| 2019-01-10 10:04:45 |
| 2019-06-11 05:45:00 |
| 2019-06-12 07:00:55 |
+---------------------+
3 rows in set (0.00 sec)

4. 日時から「分」を取得するクエリ

ここからが本題です。MINUTE()関数を使用すると、日時の「分」の部分のみを抽出できます。AS句でエイリアスを指定すれば、結果の列名も見やすくなります。

mysql> select minute(ShippingDate) as Minutes from DemoTable;

実行結果

+---------+
| Minutes |
+---------+
| 4 |
| 45 |
| 0 |
+---------+
3 rows in set (0.00 sec)

実行結果の解説

上記の結果から、それぞれの日時から「分」の部分が正しく抽出されていることがわかります。

  • 2019-01-10 10:04:45 → 「04分」(先頭の0は省略され、4と表示されます)
  • 2019-06-11 05:45:00 → 「45分」
  • 2019-06-12 07:00:55 → 「00分」(0と表示されます)

MINUTE()関数は、引数に渡した日時式から0〜59の範囲の整数値として分を返します。また、同様にHOUR()関数やSECOND()関数を使えば「時」「秒」も個別に取得でき、日付に関してはYEAR()・MONTH()・DAY()などの関数も用意されています。目的に応じてこれらの関数を使い分けることで、日時データを柔軟に扱えるようになります。

  1. MySQLで文字列の先頭15文字だけを表示するクエリの書き方

    MySQLで文字列の先頭(左側)から指定した文字数だけを取り出すには、LEFT()関数を使用します。第1引数に対象の文字列、第2引数に取得したい文字数を指定するだけで、手軽に部分文字列を抽出できます。 この記事では、テーブルに登録されたタイトルの先頭15文字だけを表示する方法を、実際のSQLと実行結果付きで順を追って解説します。 1. サンプルテーブルを作成する まず、CREATE TABLE文でテーブルを作成します。 mysql> create table DemoTable     -> (    &nbs

  2. MySQLでテーブルから特定の行を抽出するクエリの書き方

    MySQLでは、WHERE句とORDER BY、LIMITを組み合わせることで、テーブルから条件に合致する特定の行だけを効率的に取得できます。本記事では、実際にサンプルテーブルを作成し、特定の行を抽出するクエリの実行手順をわかりやすく解説します。 1. サンプルテーブルの作成 まず、CREATE TABLE文を使ってサンプル用のテーブルを作成します。ここでは「Section(組)」と「StudentName(生徒名)」という2つのカラムを持つテーブルを用意しました。 mysql> create table DemoTable1972 ( Section char(1),