2

我有一张如下表:

产品(P_CODE,说明,PRODUCTION_DATE)

过期产品是指生产超过 1 年的产品。如何列出所有已经过期的产品以及它们的过期日期?

4

4 回答 4

5
create table PRODUCT(P_CODE number, DESCRIPTION varchar2(200), PRODUCTION_DATE date);

insert into product values(1,'XXX',to_date('12-03-2013','dd-mm-yyyy'));

insert into product values(2,'YYY',to_date('13-03-2012','dd-mm-yyyy'));

insert into product values(3,'ZZZ',to_date('12-08-2012','dd-mm-yyyy'));

insert into product values(4,'AAA',to_date('16-08-2013','dd-mm-yyyy'));   

select p_code
      ,description
      ,production_date
      ,add_months(production_date,12) expire_date  
 from product
where production_date<add_months(sysdate,-12)

输出

于 2013-08-15T19:48:56.270 回答
4
SELECT  P_CODE,PRODUCTION_DATE
FROM    PRODUCT
WHERE   PRODUCTION_DATE >= NOW() - INTERVAL 12 MONTH
于 2013-08-15T19:32:00.057 回答
0

我不知道它是如何在 oracle 中完成的,但在 MS SQL 中是:

SELECT P_CODE, DESCRIPTION, PRODUCTION_DATE
FROM PRODUCT
WHERE PRODUCTION_DATE < DATEADD(yy, -1, GETUTCDATE())
于 2013-08-15T19:33:16.287 回答
0

SELECT * FROM PRODUCT WHERE DATEDIFF(YEAR,CURDATE(),DATE_ADD(PRODUCTION_DATE, INTERVAL 1 YEAR)) > 1

这是一个摇摆,但这个链接应该让你去你想去的地方

于 2013-08-15T19:37:29.767 回答