Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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
Sql 用times编写select子句_Sql_Select_Time - Fatal编程技术网

Sql 用times编写select子句

Sql 用times编写select子句,sql,select,time,Sql,Select,Time,我想写一个sql子句,如下所示: SELECT * FROM table WHERE orderdate < {orderdate three years after}; 从orderdate

我想写一个sql子句,如下所示:

SELECT * FROM table WHERE orderdate < {orderdate three years after};
从orderdate<{orderdate三年后}所在的表中选择*;

我尝试了一些
dateadd
函数,但没有找到适合我需要的示例。有什么帮助吗?

如果您使用的是SQL Server:

。。。其中orderdate

此处的文档和示例:

也许我没有正确理解您的问题,但正如Konerak所评论的那样,这似乎是一个毫无意义的查询。

在MySQL中

select * from table 
where orderdate < DATEADD(NOW(),INTERVAL 3 YEARS)
从表中选择*
其中orderdate
您可以从表中选择*,
,因为
ORDERDATE
总是小于
ORDERDATE+3年
?@mjgirl-我认为您需要在问题中添加更多细节,然后才能得到有用的答案。您的意思是(a)选择3年以上的订单吗?或者应该是(b)比表中的最新订单早3年以上的订单?org.springframework.dao.TransientDataAccessResourceException:PreparedStatementCallback;SQL[从db_orders中选择*,其中order_date参数数量,为0);嵌套异常为java.SQL.SQLException:参数索引超出范围(1>参数数量,为0)@mjgirl-您没有
DATEADD
函数的结束括号。没有任何意义…目的是获取已导出的订单行,订单在orderdate之后的特定年份进行扩展。@mjgirl-如果是这种情况,您不想将订单日期与自身进行比较,而是与当前日期进行比较:
从db_orders中选择*其中当前_TIMESTAMP>DATEADD(第3年,订单日期)
@mjgirl-您是否使用Management Studio对数据库进行了查询测试?如果查询有效并返回了预期的行,那么您的问题现在出现在Java代码中,您必须发布一个新问题;)这不会给当前日期增加年份吗?是的。你应该更好地解释你想要什么:你的问题是询问orderdate