(MYSQL)在date_add函数中使用" CASE ... WHEN"别名

时间:2016-07-01 10:31:53

标签: 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")

这是因为我无法使用' HOUR'在使用date_add()函数的学说中。

我认为,纯粹的" mysql,它不再工作......

你能帮帮我吗? F。

1 个答案:

答案 0 :(得分:0)

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")