私は次のようなテーブルを持っています:
PRODUCT(P_CODE, DESCRIPTION, PRODUCTION_DATE)
賞味期限切れの商品は、製造から1年以上経過した商品です。すでに期限切れになっているすべての製品とその有効期限を一覧表示するにはどうすればよいですか?
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)
SELECT P_CODE,PRODUCTION_DATE
FROM PRODUCT
WHERE PRODUCTION_DATE >= NOW() - INTERVAL 12 MONTH
SELECT *
FROM PRODUCT
WHERE DATEDIFF(YEAR,CURDATE(),DATE_ADD(PRODUCTION_DATE, INTERVAL 1 YEAR)) > 1
それは冗談ですが、このリンクはあなたが行きたいところに行くはずです
オラクルでどのように行われるかはわかりませんが、MS SQL では次のようになります。
SELECT P_CODE, DESCRIPTION, PRODUCTION_DATE
FROM PRODUCT
WHERE PRODUCTION_DATE < DATEADD(yy, -1, GETUTCDATE())