3

MMMM dd,yyyy日付形式をから に変換したかったのyyyy-MM-ddです。

私は以下を使用してみました:

SET @dt_to = STR_TO_DATE(dateTo, '%d-%m-%Y');

しかし、値を返しNULLます。

yyyy-MM-ddMySQL で日付を形式に変換するにはどうすればよいですか?

編集:

dateToの値をパラメータで受け取ったプロシージャを作成しています。日付MMMM dd, yyyy形式です。例October 10, 2015

ノート:

NULL以下を使用すると、クエリ全体が返されません。

SET @dt_to = dateTo;
4

2 に答える 2

6

最初に日付形式を変換するには、STR_TO_DATE を使用して入力文字列を日付値に変換する必要があります

SET @dt_to = STR_TO_DATE(dateTo, '%M %d,%Y');

その日付値を必要な形式に変換します

SET @dt_converted = DATE_FORMAT(dt_to, '%Y-%m-%d');

またはオールインワンゴー

SET @dt_to = DATE_FORMAT(STR_TO_DATE(dateTo, '%M %d,%Y'), '%Y-%m-%d');
于 2015-10-12T09:51:09.650 に答える
2

null を返す場合は、抽出された日時値が不正であることを意味します。以下のように試すことができます。詳細については、 MySQL のドキュメントを参照してください。

SELECT STR_TO_DATE('October 10, 2015','%M %d,%Y');
于 2015-10-12T09:43:11.150 に答える