0

testMySQL データベースで呼び出されるテーブルがあります。以下、作り方です。

CREATE TABLE `test` (
 `update_date` varchar(10) NOT NULL,
 `value` double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

以下はそのデータです。

ここに画像の説明を入力

ここで選択した回答で説明されているように、以下のクエリを実行します

SELECT SUM(`value`) FROM `test`
WHERE STR_TO_DATE(`update_date`, '%d-%m-%Y') BETWEEN '01-10-2014' AND '31-10-2014'

これは 1800 を返すはずですが、代わりに を返しNULLました。これはなぜですか、どうすれば正しい答えを得ることができますか?

非常に重要:日付を形式で保存する必要があり、mysqlがそれを受け入れないためString、forを使用する必要があります。Datedd-mm-yyyyDate

4

1 に答える 1