Oracle SQL - max() avec des valeurs NULL
J'ai une table qui a une série de temps en fonction des événements, chacun étant lié avec un début et une date de fin. Pour la plus récente (en cours) de l'événement, la date de fin est NULLE. Im essayant de réduire le dédoublement des lignes et de n'afficher que le début au plus tôt de la date et de la dernière date de fin. Avec le NUL de l'être dans le champ de date, la ligne est ignoré. Je peux factice d'une date de fin de la valeur avec NVL(), mais qui sera la cause de la fin de devant de la logique de rechercher et de remplacer cette valeur.
Est-il de toute façon à obtenir un max() fonction pour trier NULL en tant que haut?
CREATE TABLE CONG_MEMBER_TERM
(
CONG_MEMBER_TERM_ID NUMBER(10) NOT NULL,
CHAMBER_CD VARCHAR2(30 BYTE) NOT NULL,
CONG_MEMBER_ID NUMBER(10) NOT NULL,
STATE_CD CHAR(2 BYTE) NOT NULL,
DISTRICT NUMBER(10),
START_DT TIMESTAMP(6) WITH TIME ZONE,
END_DT TIMESTAMP(6) WITH TIME ZONE
)
Cette requête fonctionne, mais les gouttes de la ligne où la date de fin est NULLE.
select CONG_MEMBER_ID,
district,
min(start_dt),
max(end_dt)
from CONG_MEMBER_TERM
where CONG_MEMBER_ID = 1716
group by CONG_MEMBER_ID, district;
Cette requête correctifs, mais maintenant j'ai un "dummy" date de fin de la valeur(9/9/9999). Quelque chose que je préfère ne pas avoir à contourner.
select CONG_MEMBER_ID,
district,
min(start_dt),
max(nvl(end_dt, to_date('9/9/9999', 'mm/dd/yyyy')))
from CONG_MEMBER_TERM
where CONG_MEMBER_ID = 1716
group by CONG_MEMBER_ID, district;
Grâce.
- Vous avez beaucoup de questions, où vous n'avez pas accepté une réponse, vous obtiendrez plus d'intérêt à vos questions, si vous pouvez revenir en arrière et de noter les réponses correctes (en utilisant la tique contour à la gauche de la réponse).
- Je n'étais même pas au courant de l'Accepter fonctionnalité. Allez revenir et de mettre à jour certains des plus anciens réponses.
Vous devez vous connecter pour publier un commentaire.
max(end_dt) keep (dense_rank first order by end_dt desc nulls first)
upd:
SQL Violon
Oracle 11g R2 Schéma d'Installation:
Requête 1:
Résultats: