test
MySQL データベースで呼び出されるテーブルがあります。以下、作り方です。
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を使用する必要があります。Date
dd-mm-yyyy
Date