嗨,我是Oracle新手.如何进行简单的声明,例如从最近30天或20天的购买日期获取产品ID?
SELECT productid FROM product
WHERE purchase_date ?
Run Code Online (Sandbox Code Playgroud)
小智 64
SELECT productid FROM product WHERE purchase_date > sysdate-30
Run Code Online (Sandbox Code Playgroud)
Raj*_*thi 12
最简单的方法是指定
SELECT productid FROM product其中purchase_date> sysdate-30;
请记住,上面的sysdate具有时间组件,因此它将是基于现在时间的03-06-2011 8:54 AM之前的订单.
如果你想比较时删除时间组件..
SELECT productid FROM product where purchase_date > trunc(sysdate-30);
Run Code Online (Sandbox Code Playgroud)
并且(根据您的评论),如果要指定特定日期,请确保使用to_date而不依赖于默认会话参数.
SELECT productid FROM product其中purchase_date> to_date('03/06/2011','mm/dd/yyyy')
并且考虑到(sysdate-30) - (sysdate)注释,对于订单,你应该只使用sysdate条件,除非你将来可以订购order_dates.
在执行"purchase_date>(sysdate-30)"时要注意一个方面:"sysdate"是当前日期,小时,分钟和秒.所以"sysdate-30"并不完全是"30天前",而是"30天前的确切时间".
如果您的购买日期为00.00.00小时,分钟,秒,则更好:
where trunc(purchase_date)>trunc(sysdate-30)
Run Code Online (Sandbox Code Playgroud)
(这不需要考虑小时,分钟和秒).
归档时间: |
|
查看次数: |
152078 次 |
最近记录: |