"SELECT A.DEV_ID, A.CHL_NUM, A.SETTING_ID, A.ALT_ID, TO_CHAR(A.OCCUR_TM, 'yyyy.mm.dd hh24:mi:ss') AS OCCUR_TM, A.MAX_ENG, " +
"A.OCCUR_DIST, B.TYPE_NM || '(' || B.TYPE_ID || ')' AS TYPE_NM, A.ML_YN , C.TYPE_NM AS SRC_TYPE_NM" +
" FROM ALARM_ALT A, ALARM_ALT_TYPE B, ALARM_ALT_TYPE C WHERE 1=1 AND A.TYPE_ID = B.TYPE_ID(+) AND A.SRC_TYPE_ID = C.TYPE_ID(+)" +
" AND NVL((:DEV_ID), A.DEV_ID) = A.DEV_ID " +
" AND NVL((:CHL_NUM), A.CHL_NUM) = A.CHL_NUM " +
" AND NVL((:SETTING_ID), A.SETTING_ID) = A.SETTING_ID " +
" AND NVL((:ALT_ID), A.ALT_ID) = A.ALT_ID " +
" AND OCCUR_TM >= TO_DATE(NVL(:OCCUR_TMS, TO_CHAR(A.OCCUR_TM, 'yyyy.mm.dd hh24:mi:ss')), 'yyyy.mm.dd hh24:mi:ss') " +
" AND OCCUR_TM <= TO_DATE(NVL(:OCCUR_TME, TO_CHAR(A.OCCUR_TM, 'yyyy.mm.dd hh24:mi:ss')), 'yyyy.mm.dd hh24:mi:ss') " +
" AND MAX_ENG >= NVL(:MAX_ENGS, A.MAX_ENG) " +
" AND MAX_ENG <= NVL(:MAX_ENGE, A.MAX_ENG) " +
" AND OCCUR_DIST >= NVL(:OCCUR_DISTS, A.OCCUR_DIST) " +
" AND OCCUR_DIST <= NVL(:OCCUR_DISTE, A.OCCUR_DIST) " +
" AND NVL(NVL((:TYPE_ID), A.TYPE_ID), 999999) = NVL(A.TYPE_ID, 999999) " +
" AND NVL((:ML_YN), A.ML_YN) = A.ML_YN " +
" ORDER BY A.OCCUR_TM DESC";
SELECT
(A.DEV_ID, A.CHL_NUM, A.SETTING_ID, A.ALT_ID,
TO_CHAR(A.OCCUR_TM, 'yyyy.mm.dd hh24:mi:ss') AS OCCUR_TM,
A.MAX_ENG,A.OCCUR_DIST,
B.TYPE_NM || '(' || B.TYPE_ID || ')' AS TYPE_NM
, A.ML_YN , C.TYPE_NM AS SRC_TYPE_NM )
FROM
( ALARM_ALT A, ALARM_ALT_TYPE B, ALARM_ALT_TYPE C )
WHERE
( 1=1 AND A.TYPE_ID = B.TYPE_ID(+) AND A.SRC_TYPE_ID = C.TYPE_ID(+)
AND NVL((:DEV_ID), A.DEV_ID) = A.DEV_ID
AND NVL((:CHL_NUM), A.CHL_NUM) = A.CHL_NUM
AND NVL((:SETTING_ID), A.SETTING_ID) = A.SETTING_ID
......
AND OCCUR_TM >= TO_DATE(NVL(:OCCUR_TMS, TO_CHAR(A.OCCUR_TM, 'yyyy.mm.dd hh24:mi:ss')), 'yyyy.mm.dd hh24:mi:ss') "
AND NVL(NVL((:TYPE_ID), A.TYPE_ID), 999999) = NVL(A.TYPE_ID, 999999)
)
ORDER BY A.
(OCCUR_TM DESC)
TO_CHAR() 메서드
- 날짜, 숫자등의 값을 문자열로 반환하는 메서드
사용 예) TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') --2020-07-23 11:10:52
NVL(A,B) 메서드
- 첫번째 인수가 NULL이 아니면 그 값을 반환하고, NULL이면 두번째 인수를 반환한다.
AS 문법
- 데이터 조회시 컬럼명에 별칭을 주어, 출력되는 컬럼명을 변경하고자할때 사용됨.
사용 예) TO_CHAR(A.OCCUR_TM, 'yyyy.mm.dd hh24:mi:ss') AS OCCUR_TM --OCCUR_TM으로 표시됨.
|| 문법
- 문자열 연결 연산자
사용 예) B.TYPE_NM || '(' || B.TYPE_ID || ')' AS TYPE_NM -> B.TYPE_NM (B.TYPE_ID) AS TYPE_NM
: 문법
- 파라미터 바인딩 변수 표시
'SW 개발 공부 > 기초 SW 개념' 카테고리의 다른 글
[머신 러닝] 학습 데이터가 부족하여 정확도가 떨어질 때 (수도 레이블링vs생성 모델) (0) | 2025.01.23 |
---|---|
const의 역할 (0) | 2024.01.19 |
프로그램 명명 규칙 (0) | 2023.03.24 |
솔루션 이름 변경하기 (0) | 2023.03.19 |
C# Static(정적) 메서드 (0) | 2023.03.17 |