MySQL Case When (....., Interval 3 Day) 用于数字而不是日期?
MySQL Case When (....., Interval 3 Day) for numbers instead of dates?
我这里有两个问题 - 1) 我正在尝试创建一个显示日期的字段 - 例如 [30/05/2018] - 我只使用
DATE_FORMAT(SetDate1.Value, '%e')
,所以字段将是 [30],我希望这个新字段的结果与另一个日期字段的另一天进行比较,例如
[27/05/2018] - 字段是 [27],我想 MySQL 让我知道数字(30 和 27)是否相等或彼此相差 3 higher/lower。
我在下面尝试过,但是它在 mySQL 上不起作用,我不明白为什么……有什么想法吗?我需要它来告诉我 30/05/2018 是否只提取了 30 个,或者等于,或者比下一个字段中的数字高 3,或者比下一个字段中的数字低 3,只提取了月份中的第几天。
我的(不工作)尝试低于 -
,case when DATE_FORMAT(SetDate1.Value, '%e') >= (DATE_FORMAT(r.paydate, '%e'), - INTERVAL 3 DAY) then 'Rules Apply' else 'False' end as Rules
2) 我的第二个问题是一般情况下是否有数字的区间函数
如果我有一个包含数字的字段,例如 [4],我想将它与另一个字段进行比较,并突出显示下一个字段中的数字是否等于 4、比 4 大还是比 4 小, 是否有特定的 mySQL 功能?我试图搜索此内容,但一直找不到答案。
谢谢
对于您的第一个问题,您应该使用 day()
函数。逻辑是这样的:
abs(day(date1) - day(date2)) <= 3
同样的逻辑实际上也适用于数字(如果您将 day()
表达式替换为数字。
我这里有两个问题 - 1) 我正在尝试创建一个显示日期的字段 - 例如 [30/05/2018] - 我只使用
DATE_FORMAT(SetDate1.Value, '%e')
,所以字段将是 [30],我希望这个新字段的结果与另一个日期字段的另一天进行比较,例如 [27/05/2018] - 字段是 [27],我想 MySQL 让我知道数字(30 和 27)是否相等或彼此相差 3 higher/lower。 我在下面尝试过,但是它在 mySQL 上不起作用,我不明白为什么……有什么想法吗?我需要它来告诉我 30/05/2018 是否只提取了 30 个,或者等于,或者比下一个字段中的数字高 3,或者比下一个字段中的数字低 3,只提取了月份中的第几天。 我的(不工作)尝试低于 -
,case when DATE_FORMAT(SetDate1.Value, '%e') >= (DATE_FORMAT(r.paydate, '%e'), - INTERVAL 3 DAY) then 'Rules Apply' else 'False' end as Rules
2) 我的第二个问题是一般情况下是否有数字的区间函数
如果我有一个包含数字的字段,例如 [4],我想将它与另一个字段进行比较,并突出显示下一个字段中的数字是否等于 4、比 4 大还是比 4 小, 是否有特定的 mySQL 功能?我试图搜索此内容,但一直找不到答案。
谢谢
对于您的第一个问题,您应该使用 day()
函数。逻辑是这样的:
abs(day(date1) - day(date2)) <= 3
同样的逻辑实际上也适用于数字(如果您将 day()
表达式替换为数字。