Предложение MySQL BETWEEN с фреймворком Yii PHP

Используя Yii PHP Framework, я создаю следующий запрос

SELECT * FROM `purchases` WHERE (date BETWEEN '2013-12-31' AND '2015-01-01')

с этим кодом

$exportYear = "2014";
$criteria = new CDbCriteria();
$criteria->addBetweenCondition("date", ((int)$exportYear - 1) . "-12-31", ((int)$exportYear + 1) . "-01-01");
$purchases = Purchase::model()->findAll($criteria);

Что мне действительно нужно, так это все «покупки», которые произошли в 2014 году. Ни за минуту до или после. Что нужно изменить в строке addBetweenCondition, чтобы этого добиться?

0

Решение

Между оператором включительно.

Если тип столбца — ДАТА, используйте «2014-01-01» И «2014-12-31»

$exportYear = "2014";
$criteria = new CDbCriteria();
$criteria->addBetweenCondition("date", $exportYear . "-01-01", $exportYear . "-12-31");
$purchases = Purchase::model()->findAll($criteria);

Если тип столбца — DATETIME, используйте ‘2014-01-01 00:00:00’ И ‘2014-12-31 23:59:59’

$exportYear = "2014";
$criteria = new CDbCriteria();
$criteria->addBetweenCondition("date", $exportYear . "-01-01 00:00:00", $exportYear . "-12-31 23:59:59");
$purchases = Purchase::model()->findAll($criteria);
1

Другие решения

SELECT * FROM `purchases`
WHERE date BETWEEN '2014-01-01' AND '2014-12-31'
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector