Аналог sql функции DATE_FORMAT() в Битрикс D7
Есть поле в таблице с датой в формате YYYY-MM-DD. Например 2015-03-25.
Как с помощью D7 отфильтровать по этой дате только по месяцу и дню выкинув год. То есть на SQL это будет выглядеть так:
SELECT mydate FROM table WHERE DATE_FORMAT(mydate, "%d.%m") = "25-03";
Как написать такое выражение с помощью D7 ?
Ответы (1 шт):
Автор решения: Mihanik71
→ Ссылка
Это делается через registerRuntimeField, вот пример кода
<?php
use Bitrix\Main\ORM\Query\Query;
$query = (new Query(Table::class))
->setSelect([
"ID",
"shortDate"
])
->where("shortDate", "=", "25.03")
->registerRuntimeField('shortDate', [
'data_type' => 'string',
'expression' => ['DATE_FORMAT(%s, "%%d.%%m")', 'mydate']
]);
//var_dump($query->exec()->fetchAll());
//var_dump($query->getQuery());