SQL 查询获取过去 30 天的数据?
您好,我是 Oracle 新手。如何做一个简单的声明,例如获取最近 30 或 20 天购买日期的产品 ID?
SELECT productid FROM product
WHERE purchase_date ?
Hi I am new to Oracle. How do I do a simple statement, for example get product id from the last 30, or 20 days purchase date?
SELECT productid FROM product
WHERE purchase_date ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
最简单的方法是指定
请记住,上面的系统日期包含时间部分,因此根据现在的时间,它将是晚于 03-06-2011 8:54 AM 的采购订单。
如果您想在比较时删除时间成分。
并且(根据您的评论),如果您想指定特定日期,请确保使用 to_date 而不是依赖默认会话参数。
考虑到 (sysdate-30) - (sysdate) 之间的注释,对于订单,您应该可以仅使用 sysdate 条件,除非您可以下订单order_dates 将来。
The easiest way would be to specify
Remember this sysdate above has the time component, so it will be purchase orders newer than 03-06-2011 8:54 AM based on the time now.
If you want to remove the time conponent when comparing..
And (based on your comments), if you want to specify a particular date, make sure you use to_date and not rely on the default session parameters.
And regardng the between (sysdate-30) - (sysdate) comment, for orders you should be ok with usin just the sysdate condition unless you can have orders with order_dates in the future.
执行“purchase_date>(sysdate-30)”时要注意一个方面:“sysdate”是当前的日期、时、分、秒。因此“sysdate-30”并不完全是“30 天前”,而是“30 天前的这个时间”。
如果您的购买日期的小时、分钟、秒为 00.00.00,则更好:(
这不考虑小时、分钟和秒)。
Pay attention to one aspect when doing "purchase_date>(sysdate-30)": "sysdate" is the current date, hour, minute and second. So "sysdate-30" is not exactly "30 days ago", but "30 days ago at this exact hour".
If your purchase dates have 00.00.00 in hours, minutes, seconds, better doing:
(this doesn't take hours, minutes and seconds into account).
试试这个:使用它您可以选择过去 30 天的数据
Try this : Using this you can select data from last 30 days
Now()
返回当前日期和时间。Now()
returns the current Date and Time.