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

MySQLでタイムスタンプから曜日名(日の名前)を取得する方法

MySQLのタイムスタンプから曜日名(Saturday、Sundayなどの日の名前)を取得したい場合は、DAYNAME()関数を使用します。この関数に日付やタイムスタンプのカラムを渡すと、対応する曜日名を文字列として返してくれます。

基本構文

SELECT DAYNAME(カラム名) FROM テーブル名;

それでは、実際にサンプルテーブルを作成しながら動作を確認していきましょう。

サンプルテーブルの作成

まず、タイムスタンプ型のカラムを持つテーブルを作成します。

mysql> create table DemoTable
(
LoginDate timestamp
);
Query OK, 0 rows affected (0.52 sec)

レコードの挿入

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

mysql> insert into DemoTable values('2019-06-01');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('2019-06-02');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('2019-06-03');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('2019-06-04');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2018-06-21');
Query OK, 1 row affected (0.09 sec)

登録データの確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

出力結果

+-----------------------+
| LoginDate             |
+-----------------------+
| 2019-06-01 00:00:00   |
| 2019-06-02 00:00:00   |
| 2019-06-03 00:00:00   |
| 2019-06-04 00:00:00   |
| 2018-06-21 00:00:00   |
+-----------------------+
5 rows in set (0.00 sec)

DAYNAME()関数で曜日名を取得する

以下が、タイムスタンプから曜日名を取得するためのクエリです。LoginDateカラムに対してDAYNAME()関数を適用しています。

mysql> select dayname(LoginDate) from DemoTable;

出力結果

+--------------------+
| dayname(LoginDate) |
+--------------------+
| Saturday           |
| Sunday             |
| Monday             |
| Tuesday            |
| Thursday           |
+--------------------+
5 rows in set (0.00 sec)

このように、2019年6月1日は土曜日(Saturday)、6月2日は日曜日(Sunday)、6月3日は月曜日(Monday)、6月4日は火曜日(Tuesday)、そして2018年6月21日は木曜日(Thursday)であることがわかります。

補足:日本語で曜日名を取得したい場合

DAYNAME()関数は英語の曜日名を返します。日本語の曜日(「土」「日」など)を取得したい場合は、DATE_FORMAT()関数と%W書式指定子を組み合わせるか、ELT()WEEKDAY()関数を活用する方法があります。また、システム変数lc_time_names'ja_JP'に設定することで、ロケールに応じた曜日名を取得することも可能です。

  1. JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説

    ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ

  2. MySQLで日付から曜日名を取得する方法(DAYNAME関数の使い方)

    MySQLで日付に対応する曜日名を取得するには?MySQLで日付データから曜日名(Sunday、Mondayなど)を取得したい場合は、DAYNAME()関数を使用します。この記事では、実際にテーブルを作成し、DAYNAME()関数を使って曜日名を取得する手順を解説します。1. テーブルを作成するまず、出荷日(ShippingDate)を格納するテーブルを作成しましょう。mysql> create table DemoTable1954 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコー