gpt4 book ai didi

mysql - 如何正确执行间隔条件?

转载 作者:可可西里 更新时间:2023-11-01 08:30:00 27 4
gpt4 key购买 nike

我做了一个查询,根据时间间隔显示信息。

这是表格

|id|  |date_payment|
1 '2014-11-18'
2 '2014-12-18'
3 '2015-01-27'
5 '2015-03-20'
6 '2015-04-18'
7 '2015-05-27'
8 '2015-06-20'
9 '2015-07-18'
10 '2015-08-27'
11 '2015-09-20'

我正在尝试使用YearMonth 显示信息

例如,使用 year = 2014 和 month = 11 作为动态值,间隔为 4 个月,结果应该是这样的:

|id|  |date_payment|
1 '2014-11-18'
2 '2014-12-18'
3 '2015-01-27'

这是我的查询:

 SET @var_year = '2014';
SET @var_month = '11';

SELECT * FROM payments
WHERE date_payment = DATE_ADD('2014-11', INTERVAL 4 MONTH)

我的查询无法正常显示结果。

Here is the live example

最佳答案

DATE_ADD INTERVAL 4 MONTH 只是将 4 个月添加到您的日期 ('2014-11-01')

此查询将返回您所期望的内容

SET @var_year = '2014';
SET @var_month = '11';

SET @from = STR_TO_DATE(CONCAT(@var_year, '/', @var_month, '/01'), '%Y/%m/%d');
SET @to = DATE_ADD(@from, INTERVAL 4 MONTH);

SELECT * FROM payments
WHERE date_payment BETWEEN @from AND @to;

这里有一个活生生的例子

http://sqlfiddle.com/#!9/013b6/42

希望对你有帮助

关于mysql - 如何正确执行间隔条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682627/

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