メインコンテンツまでスキップ
バージョン: 4.x

STR_TO_DATE

説明

この関数は、指定された形式に基づいて入力されたdatetime文字列をDATETIME値に変換します。

構文

STR_TO_DATE(<datetime_str>, <format>)

パラメータ

Parameterデスクリプション
<datetime_str>必須。変換される入力datetime文字列。
<format>必須。指定されたdatetimeフォーマット文字列。%Y-%m-%d %H:%i:%sなど。具体的なフォーマットパラメータについては、DATE_FORMAT ドキュメントを参照してください。

さらに、<format>は以下のいくつかの代替フォーマットをサポートし、それらを通常のフォーマットに解釈します:

Alternative InputInterpret as
yyyyMMdd%Y%m%d
yyyy-MM-dd%Y-%m-%d
yyyy-MM-dd HH:mm:ss%Y-%m-%d %H:%i:%s

Return Value

  • 変換されたdatetimeを表すDATETIME値を返します。
  • 入力<datetime_str>または<format>が無効な場合、関数はNULLを返します。

Example

一般的なdatetime文字列をDATETIMEに変換

SELECT STR_TO_DATE('2025-01-23 12:34:56', '%Y-%m-%d %H:%i:%s'),STR_TO_DATE('2025-01-23 12:34:56', 'yyyy-MM-dd HH:mm:ss');
+---------------------------------------------------------+-----------------------------------------------------------+
| str_to_date('2025-01-23 12:34:56', '%Y-%m-%d %H:%i:%s') | str_to_date('2025-01-23 12:34:56', 'yyyy-MM-dd HH:mm:ss') |
+---------------------------------------------------------+-----------------------------------------------------------+
| 2025-01-23 12:34:56.000000 | 2025-01-23 12:34:56.000000 |
+---------------------------------------------------------+-----------------------------------------------------------+

その他

select STR_TO_DATE('200442 Monday', '%X%V %W'),STR_TO_DATE('2023','%Y');
+-----------------------------------------+---------------------------+
| str_to_date('200442 Monday', '%X%V %W') | str_to_date('2023', '%Y') |
+-----------------------------------------+---------------------------+
| 2004-10-18 | 2023-01-01 |
+-----------------------------------------+---------------------------+