首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL -查询月份名称

MySQL -查询月份名称
EN

Stack Overflow用户
提问于 2018-11-26 10:47:13
回答 2查看 64关注 0票数 1

我在Symfony中写了一个查询,它返回一年中每个月的总金额。但是当我试着把它从一个月的数字转换到一个月的名字时,它就会变小

错误:预期的Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS,得到",“

我的密码..。

代码语言:javascript
运行
复制
$resultYearly = $this->getTransactionRepository()
        ->createQueryBuilder('p')
       ->select('MONTH(p.transactionDate, \'%b\') AS MonthOfYear, sum(p.amount) Total')
MonthAndYear, sum(p.amount) Total')
            ->where('p.transactionDate >= :end')
            ->setParameter('end', new \DateTime('-1 year'))
            ->groupBy( 'MonthOfYear')
            ->getQuery()
            ->getArrayResult();

它适用于DATE_FORMAT,但当我使用月份时,它会抛出一个错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-26 11:10:38

使用

代码语言:javascript
运行
复制
DATE_FORMAT(p.transactionDate,'%b')  AS MonthOfYear
票数 0
EN

Stack Overflow用户

发布于 2018-11-26 10:51:17

您需要从\'%b\'函数中删除Month部分,因为MONTH函数只接受一个参数,即日期。所以你的代码应该是:

代码语言:javascript
运行
复制
$resultYearly = $this->getTransactionRepository()
        ->createQueryBuilder('p')
       ->select('MONTH(p.transactionDate) AS MonthOfYear, sum(p.amount) Total')
MonthAndYear, sum(p.amount) Total')
            ->where('p.transactionDate >= :end')
            ->setParameter('end', new \DateTime('-1 year'))
            ->groupBy( 'MonthOfYear')
            ->getQuery()
            ->getArrayResult();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53479458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档