Oracle - NVL , NVL2 함수 사용
NVL 함수는 대상 '컬럼'에 값이 null 일 경우 다른 값으로 변환해주는 함수다NVL2 함수는 첫 번째 인수가 null 이 아니면 두 번째 인수를, null 이라면 세 번째 인수를 반환한다예) NVLSELECT A , NVL(B , 0) FROM DUAL예) NVL2SELECT A , NVL2(B , 'null 이 아닐때' , 'null 일때') FROM DUAL- SELECT 1 , NVL2(2 , 'null 이 아닐때' , 'null 일때') FROM DUAL 문제는 데이터 자체가 조회가 안될 때 값을 표현해야 할 때가 있다예) NVLSELECT A , NVL(MAX(B) , 0) FROM DUALSELECT A , NVL(MIN(B) , 0) FROM DUALMAX 또는 MIX을 사용하면 임..
2024. 9. 26.
Oracle - 계층형 쿼리
생성CREATE TABLE MENU(ID NUMBER PRIMARY KEY,PARENT_ID NUMBER , NAME VARCHAR2(20),ORD NUMBER,ICON VARCHAR2(50)) 부모 추가-- 부모INSERT INTO MENU( ID, PARENT_ID, NAME, ORD, ICON)VALUES( (SELECT NVL(MAX(ID), 0) +1 AS ID FROM MENU), 0, '설정', (SELECT NVL(MAX(ORD), 0) +1 AS ORD FROM MENU WHERE PARENT_ID = 0), 'fas fa-fw fa-wrench')INSERT INTO MENU( ID, PARENT_ID, NAME, ORD, ICON)VALUES( (SELE..
2024. 7. 31.
[DBeaver] Oracle - Join
TABLE 생성 -- 회원 테이블 CREATE TABLE MEMBER ( NAMEVARCHAR2(100) , EMP_NONUMBER PRIMARY KEY, DEPT_NO NUMBER, AGENUMBER, ADDRVARCHAR2(100), REGIST_DATE TIMESTAMP, BIRTH_DAYDATE ) -- 부서 테이블 CREATE TABLE DEPT( DEPT_NONUMBER PRIMARY KEY, DEPT_NAMEVARCHAR2(100), ADDRVARCHAR2(100) ) INSERT * MEMBER INSERT INTO MEMBER(NAME ,EMP_NO ,DEPT_NO,AGE , ADDR , REGIST_DATE ,BIRTH_DAY) VALUES('white' ,1000 ,100,1 , '대..
2023. 3. 19.