mysql - (MYSQL]在date_add函数中使用 "CASE ... WHEN"别名

标签 mysql symfony doctrine-orm

我可以在另一个函数中使用“CASE ... WHEN”(delayDate)创建的别名吗,例如 date_add() :

教义方式:

->addSelect("CASE c.time
                        WHEN '24' then 1
                        WHEN '48' then 2
                        WHEN '72' then 3
                        WHEN '96' then 4
                        ELSE 0
                       END
                        as delayDate ,
                    date_add(CURRENT_DATE(), delayDate, 'DAY') as firstDateDelivery")

这是因为我不能在 date_add() 函数中使用“HOUR”。

我认为,在“纯”mysql中,它不再起作用了......

你能帮我吗? F.

最佳答案

DAY 中删除单引号,并检查此 DATE_ADD() 用法 func_date_add .

->addSelect("CASE c.time
                        WHEN '24' then 1
                        WHEN '48' then 2
                        WHEN '72' then 3
                        WHEN '96' then 4
                        ELSE 0
                       END
                        as delayDate ,
              CASE c.time
                        WHEN '24' then date_add(CURRENT_DATE(), INTERVAL 1 DAY)
                        WHEN '48' then date_add(CURRENT_DATE(), INTERVAL 2 DAY)
                        WHEN '72' then date_add(CURRENT_DATE(), INTERVAL 3 DAY)
                        WHEN '96' then date_add(CURRENT_DATE(), INTERVAL 4 DAY)
                        ELSE CURRENT_DATE()
                       END
                        as firstDateDelivery")

关于mysql - (MYSQL]在date_add函数中使用 "CASE ... WHEN"别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38143146/

相关文章:

Symfony2主义FindOneOrCreate

php - Symfony2 中的系统 (SonataAdminBundle) 缺少请求的 PHP 扩展 intl

symfony - 如何在 Assetics 'javascript' 标签中使用 Twig 变量?

mysql - 如何使用现有列在表中添加外键而不丢失数据?

java - 使用 SimpleDateFormat 无法解析的日期

mysql - 从mysql表中删除重复行

php - Doctrine查询缓存和更新

mysql - 基于日期的动态表名

php - Doctrine 未检测到一个实体管理器和多个数据库的架构更改

php - 在 Doctrine2 中使用部分查询和复合键时出现 "No mapped field"