【发布时间】:2017-05-16 08:37:17
【问题描述】:
在MySQL 中有YEAR(CURDATE()。
mysql> SELECT YEAR(CURDATE());
+-----------------+
| YEAR(CURDATE()) |
+-----------------+
| 2017 |
+-----------------+
如何在 DQL 中获取它?直接使用
$er->createQueryBuilder('s')
->where('s.year = YEAR(CURDATE()');
我得到:
[Syntax Error] line 0, col 105: Error: Expected known function, got 'YEAR'
我试试
SUBSTRING(CURDATE(),1,4);
这在纯 MySQL 中再次正常工作,但在 DQL 中我现在有错误
[Syntax Error] line 0, col 115: Error: Expected known function, got 'CURDATE'
类似的结果给出:
SUBSTRING(NOW(),1,4);
我的意思是它在 MySQL 中有效,但在教义中以例外结尾:
[Syntax Error] line 0, col 115: Error: Expected known function, got 'NOW'
【问题讨论】: