In MySQL
there is YEAR(CURDATE()
.
mysql> SELECT YEAR(CURDATE());
+-----------------+
| YEAR(CURDATE()) |
+-----------------+
| 2017 |
+-----------------+
How to obtain it in DQL? In directly usage
$er->createQueryBuilder('s')
->where('s.year = YEAR(CURDATE()');
I obtaining:
[Syntax Error] line 0, col 105: Error: Expected known function, got 'YEAR'
I trying
SUBSTRING(CURDATE(),1,4);
that again works correctly in pure MySQL, but in DQL I have now error
[Syntax Error] line 0, col 115: Error: Expected known function, got 'CURDATE'
Similar results give:
SUBSTRING(NOW(),1,4);
I mean it works in MySQL, but in doctrine end with exception:
[Syntax Error] line 0, col 115: Error: Expected known function, got 'NOW'