mysql - where子句中的mysql concat和substring_index
问题描述
我在表中有一个值,我从中选择,格式如下:
day_shared =
12_month
3_month
1_week
我需要将它用于 DATE_ADD() 中的函数,这是我目前拥有的代码,但它似乎出错了,我不确定我做错了什么。非常感谢一些帮助/建议
WHERE
NOW() < DATE_ADD(date_posted, INTERVAL CONCAT(CONVERT(SUBSTRING_INDEX(day_shared,'_', 1), SIGNED INTEGER),' ',UPPER(SUBSTRING_INDEX(day_shared,'_', -1))))
戈登尝试的解决方案:
NOW() < DATE_ADD(
date_posted,
(
CASE WHEN day_shared LIKE '%_week' THEN INTERVAL (
SUBSTRING_INDEX(day_shared , '_', 1) + 0
) WEEK WHEN day_shared LIKE '%_month' SUBSTRING_INDEX(day_shared , '_', 1) + 0 DAY THEN INTERVAL (
SUBSTRING_INDEX(day_shared , '_', 1) + 0
) MONTH END
)
)
Something is wrong in your syntax '(
CASE WHEN day_shared LIKE '%_week' THEN INTERVAL (
SUBSTRING' on line 8
解决方案
NOW()
<
CASE
WHEN day_shared LIKE '%_week'
THEN
DATE_ADD(
date_posted,
INTERVAL (SUBSTRING_INDEX(day_shared , '_', 1) + 0) WEEK
)
WHEN day_shared LIKE '%_month'
THEN
DATE_ADD(
date_posted,
INTERVAL (SUBSTRING_INDEX(day_shared , '_', 1) + 0) MONTH
)
END
推荐阅读
- shiny - 初始化应用程序时,条件面板消息闪烁然后消失
- python - 气流在initdb后无法进入/admin页面
- reporting-services - SSRS 如何动态进行范围查找?使用参数
- mysql - 如何在 MySQL 中的“案例”中命名表的多个字段?
- javascript - 一个事件监听器,用于所有具有相同父级的元素,即使您将一些元素放置在代表多个节点的变量中
- python - Python 3:_tkinter.TclError:无效的命令名称“.!scrollbar”
- python - 如何检查用户的输入是否正确并输出是否正确?
- javascript - 格式时刻 JS 日期减去一天
- reactjs - 从 node_modules 动态导入 react
- laravel - Laravel Vapor CLI 上的身份验证失败