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'に設定することで、ロケールに応じた曜日名を取得することも可能です。
-
JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説
ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ
-
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. レコー