Используя 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, чтобы этого добиться?
Между оператором включительно.
Если тип столбца — ДАТА, используйте «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);
SELECT * FROM `purchases`
WHERE date BETWEEN '2014-01-01' AND '2014-12-31'