반응형
null이 아닌 최대 열
두 개의 DATTIME 열 중 가장 큰 값을 기준으로 공식을 사용하여 행을 업데이트해야 합니다.저는 보통 다음과 같이 합니다.
GREATEST(date_one, date_two)
그러나 두 열 모두 NULL로 허용됩니다. 다른 열이 NULL일 때도 가장 큰 날짜가 필요합니다(물론 둘 다 NULL일 때는 NULL로 예상합니다).GREATEST()
열 중 하나가 NULL이면 NULL을 반환합니다.
이것은 효과가 있는 것 같습니다.
GREATEST(COALESCE(date_one, date_two), COALESCE(date_two, date_one))
하지만 궁금해요...제가 좀 더 간단한 방법을 놓쳤나요?
COALESCE(GREATEST(date_one, date_two), date_one, date_two)
여러 열에 대한 솔루션은 다음과 같습니다.
SELECT NULLIF(
GREATEST(
NVL(NULL, to_date('01011980','ddmmyyyy')), --COLUMN 1
NVL(sysdate, to_date('01011980','ddmmyyyy')), --COLUMN 2
NVL(NULL, to_date('01011980','ddmmyyyy')), --COLUMN 3
NVL(sysdate-1,to_date('01011980','ddmmyyyy')) --COLUMN 4
),to_date('01011980','ddmmyyyy')
) as greatest_date
FROM DUAL;
언급URL : https://stackoverflow.com/questions/2684090/greatest-not-null-column
반응형
'programing' 카테고리의 다른 글
어떻게 마지막 5분의 기록을 조회할 수 있습니까? (0) | 2023.08.06 |
---|---|
스크롤 막대를 항상 표시하는 방법 (0) | 2023.08.06 |
페이지에 세로 스크롤 막대가 있는지 검색하시겠습니까? (0) | 2023.08.06 |
안드로이드의 너비와 높이를 얻는 방법.위젯이미지 보기? (0) | 2023.08.06 |
MySQL group_concat에 해당하는 Presto (0) | 2023.08.06 |