Domanda

Chi vorrei trovare record in una tabella (Oracle SQL) utilizzando il campo data di creazione in cui i record sono più vecchi di 30 giorni. Sarebbe bello trovare record utilizzando un'operatori come>, ma se qualcuno può suggerire SQL veloce dove dichiarazione clausola per trovare i record più vecchio di 30 giorni che sarebbe bello. Si prega di suggerire la sintassi Oracle come questo è ciò che sto usando.

È stato utile?

Soluzione

Usa:

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= TRUNC(SYSDATE) - 30

SYSDATE restituisce la data e l'ora; TRUNC reimposta la data ad essere a partire dalla mezzanotte in modo da poter ometterlo se si desidera che il creation_date vale a dire 30 giorni precedenti compreso il tempo corrente.

A seconda delle esigenze, si potrebbe anche guardare con ADD_MONTHS :

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= ADD_MONTHS(TRUNC(SYSDATE), -1)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top