gpt4 book ai didi

mysql - 使用基于动态字段的 DATE_SUB()

转载 作者:行者123 更新时间:2023-11-30 01:22:33 24 4
gpt4 key购买 nike

如何在 DATE_SUB 计算中使用动态创建的字段?

我有下面这个 SQL:

SELECT *, 
CASE
WHEN `currentDate` IS NULL
THEN
`lastDate`
ELSE
`currentDate`
END AS `useDate`,
CASE
WHEN `type` = 'weekly'
THEN DATE_SUB(`useDate`, INTERVAL 1 WEEK)
END AS `nextDate`
FROM `aTable`

由于错误“#1054 - “字段列表”中的未知列“useDate””,这不起作用

如果我使用 Select * 中的实际字段,查询工作正常,但不会接受动态创建的字段。

在无需执行“case in case”查询的情况下处理此问题的正确方法是什么?

最佳答案

您是否尝试在 WHEN 中使用 CASE 子句?

SELECT *, 
CASE
WHEN `currentDate` IS NULL
THEN `lastDate`
ELSE `currentDate`
END AS `useDate`,
CASE
WHEN `type` = 'weekly'
THEN DATE_SUB(
CASE
WHEN `currentDate` IS NULL
THEN `lastDate`
ELSE `currentDate`
END AS `useDate`
, INTERVAL 1 WEEK)
END AS `nextDate`
FROM `aTable`

关于mysql - 使用基于动态字段的 DATE_SUB(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com