Sélectionner les enregistrements pour une année donnée Oracle
J'ai une table oracle des transactions de la banque et une colonne de date. Si j'ai besoin de sélectionner des enregistrements pour un an, dire 2013 j'ai fais Comme ceci:
select *
from sales_table
where tran_date >= '01-JAN-2013'
and tran_date <= '31-DEC-2013'
Mais j'ai besoin d'un simple moyen de sélection d'enregistrements pour un an à dire passer le Paramètre '2013' partir d'une Application pour obtenir des résultats à partir des enregistrements dans une année sans donner une fourchette. Est-ce Possible?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser to_date fonction
http://psoug.org/reference/date_func.html
solution avec des comparaisons explicites
(tran_date >= ... and tran_date < ...)
est capable de indice d'utilisation(es) surtran_date
champ.Pense que sur frontières: par exemple, si
tran_date = '31.12.2013 18:24:45.155'
que votre codetran_date <='31-DEC-2013'
sera miss ilUtiliser le extrait fonction pour tirer le an à compter de la date d':
tran_date
est indexé, serait-ce l'utilisation de l'EXTRAIT de force de l'Analyse d'une Table, ou pourrait Oracle de le traduire dans une recherche de Plage? (L'équivalent des méthodes dans d'autres dialectes SQL serait normalement le rendement d'une Analyse, ce qui peut causer ainsi être horriblement inefficace.)