我可以在另一个函数中使用“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/