MySQLでDateTime型の値を文字列に変換する方法【DATE_FORMAT関数の使い方】
MySQLでDateTime型の値を文字列として扱いたい場合、DATE_FORMAT() 関数を使うのが最も一般的な方法です。この関数を使えば、日時データを自由なフォーマットの文字列に変換して取得できます。
DATE_FORMAT() の基本構文
SELECT DATE_FORMAT(カラム名, '%d %m %y') AS 別名 FROM テーブル名;
第2引数にはフォーマット指定子を渡します。「%d」が日、「%m」が月、「%y」が西暦下2桁を表します。他にも「%Y」(4桁の年)や「%H:%i:%s」(時刻)など、さまざまな指定子が用意されています。
サンプルテーブルを作成する
実際に動きを確認するため、まずはテスト用のテーブルを作成しましょう。
mysql> CREATE TABLE DateAsStringDemo
-> (
-> YourDateTime DATETIME
-> );
Query OK, 0 rows affected (0.57 sec)DATETIME型のカラムに現在の日付を挿入する
続いて、curdate() 関数を使って現在の日付を挿入します。
mysql> INSERT INTO DateAsStringDemo VALUES(curdate()); Query OK, 1 row affected (0.24 sec)
登録されたレコードを確認する
SELECT文で全レコードを表示してみましょう。
mysql> SELECT * FROM DateAsStringDemo;
実行結果は以下の通りです。
+---------------------+ | YourDateTime | +---------------------+ | 2018-11-26 00:00:00 | +---------------------+ 1 row in set (0.00 sec)
DATETIME値を文字列に変換する
それでは、DATE_FORMAT() を使って日付を文字列に変換してみます。
mysql> SELECT DATE_FORMAT(YourDateTime,'%d %m %y') AS YourDateAsString FROM DateAsStringDemo;
実行結果:
+------------------+ | YourDateAsString | +------------------+ | 26 11 18 | +------------------+ 1 row in set (0.00 sec)
このように、DATETIME型の値が「26 11 18」という形式の文字列に変換されました。フォーマット指定子を組み合わせることで、「%Y年%m月%d日」のような日本語表記にも対応できるため、画面表示やCSV出力などの場面で非常に便利です。
-
MySQLで文字列を日時(DATETIME)に変換する方法【STR_TO_DATE活用術】
MySQLでは、STR_TO_DATE()関数とフォーマット指定子を組み合わせることで、VARCHAR型などで文字列として保存されている日付・時刻データを、DATETIME型に変換することができます。 基本構文 フォーマット指定子を使用した基本構文は以下の通りです。 select str_to_date(yourColumnName,%d/%m/%Y %h:%i %p) as anyAliasName from yourTableName; 主なフォーマット指定子の意味 %d:日(2桁) %m:月(2桁) %Y:年(4桁) %h:時(12時間制・2桁) %i:分(2桁) %p:午前/午後
-
MySQLで保存済みのMD5文字列を10進数値に変換する方法
MySQLで保存済みのMD5文字列を10進数値に変換する方法conv()関数とcast()関数を組み合わせて使用することで、16進数を10進数値へ変換できます。注意 − MD5は16進数で表現されます。サンプルテーブルの作成まず、テーブルを作成しましょう −mysql> create table DemoTable ( Password text ); Query OK, 0 rows affected (0.60 sec)insertコマンドを使って、テーブルにいくつかのレコードを挿入します −mysql> insert into DemoTable v