Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在用户在SQL中输入内容的一个月之前获取数据_Mysql_Sql - Fatal编程技术网

Mysql 如何在用户在SQL中输入内容的一个月之前获取数据

Mysql 如何在用户在SQL中输入内容的一个月之前获取数据,mysql,sql,Mysql,Sql,当前查询 SELECT col1 FROM table1 where id=1234 and (date(sys_time) between "2015-07-01" AND "2015-07-10") ; 我想在上述日期起一个月前获得数据 在这里是否有SQL查询来执行此操作 只需使用date\u sub(): 选择col1 来自表1 其中id=1234和 系统时间>=日期子项('2015-07-01',间隔1个月)和 系统时间

当前查询

SELECT col1 FROM table1 where 
id=1234 and (date(sys_time) 
between "2015-07-01" AND "2015-07-10")
;
我想在上述日期起一个月前获得数据 在这里是否有SQL查询来执行此操作

只需使用
date\u sub()

选择col1
来自表1
其中id=1234和
系统时间>=日期子项('2015-07-01',间隔1个月)和
系统时间<日期添加(日期子('2015-07-01',间隔1个月),间隔1天)
请注意,我从
sys\u time
中删除了
date()
函数。这有助于MySQL为表达式使用索引,如果可以的话:

试试这个

SELECT GETDATE() AS CurrentDate, DATEADD(dd,-30,getdate())
您可以将“当前日期”和上一个日期设置为参数,并将它们作为添加间隔的标准包含在查询中

例如:


从表中选择a、b,其中
FROM\u date
介于日期添加(“2015-07-01”,间隔1个月)和日期添加(“2015-07-03”,间隔1个月)

在2015-06-01之前使用?在2015-06-01之前使用
SELECT GETDATE() AS CurrentDate, DATEADD(dd,-30,getdate())