Oracle SQL clausola Where per trovare la data registra più di 30 giorni
-
27-09-2019 - |
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.
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