0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Java】MySQLでString型の値をDATE型やDATETIME型に変換

Posted at

MySQLでString型の値をDATE型やDATETIME型に変換するには、STR_TO_DATE()関数を使う方法が一般的です。この関数は、文字列を指定したフォーマットに基づいて日付型に変換します。

STR_TO_DATE()関数の構文

STR_TO_DATE(文字列, フォーマット)
  • 文字列: 変換したい日付の文字列(VARCHARCHAR型)。
  • フォーマット: その文字列がどのようにフォーマットされているかを示すパターン。

フォーマット指定子の例

フォーマット指定子 説明
%Y 4桁の年 2024
%m 2桁の月 01, 12
%d 2桁の日 01, 31
%H 2桁の時 (24時間制) 00, 23
%i 2桁の分 00, 59
%s 2桁の秒 00, 59

例1: String型をDATE型に変換

日付が 2024-10-04 というフォーマットの文字列を DATE 型に変換したい場合、以下のようにします。

SELECT STR_TO_DATE('2024-10-04', '%Y-%m-%d');

これにより、文字列 '2024-10-04'DATE 型の 2024-10-04 に変換されます。

例2: String型をDATETIME型に変換

日付と時間が含まれている文字列 '2024-10-04 12:30:45'DATETIME 型に変換する場合、以下のようにします。

SELECT STR_TO_DATE('2024-10-04 12:30:45', '%Y-%m-%d %H:%i:%s');

これにより、文字列 '2024-10-04 12:30:45'DATETIME 型の 2024-10-04 12:30:45 に変換されます。

例3: テーブルの列を変換して取得

例えば、テーブルの中に VARCHAR 型で日付が保存されている場合、その列をDATE型として取得することもできます。

SELECT STR_TO_DATE(date_column, '%Y-%m-%d') AS formatted_date
FROM your_table;

例4: 変換後に別の列に更新

もし既存の文字列型の列を変換して、別のDATE型の列に保存したい場合は、UPDATE文を使用します。

UPDATE your_table
SET date_column_converted = STR_TO_DATE(date_column, '%Y-%m-%d');

この例では、date_column という文字列型の列を STR_TO_DATE() で変換し、date_column_converted という DATE 型の列に保存しています。

まとめ

  • STR_TO_DATE() 関数を使って、文字列を DATEDATETIME 型に変換できます。
  • 変換する際には、文字列のフォーマットに応じたフォーマット指定子を使う必要があります。
  • SELECT 文で変換結果を取得したり、UPDATE 文で既存のデータを更新できます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?