[Database] NVL,NVL2 함수 사용방법 (Oracle SQL)

NVL 함수 NULL을 지정한 값으로 변환하는 함수 SELECT (expr1,expr2) FROM 테이블 구문 1 2 NVL(expr1,expr2) expr1 - NULL을 포함하는 컬럼(NULL이 들어가 있을 만한 컬럼) , expr2 - NULL인 경우 변환할 값(NULL 대신 넣을 값) 이 쿼리는 연봉을 구하고 그 연봉에 보너스를 더하는데 BONUS_PCT 값에 NULL이 있을 경우 결과 값이 NULL이 나온다. (NULL 값이 있을 때 연산을 하면 NULL 이 나온다.) 이걸 NVL 함수를 사용해서 NULL값을 0으로 만든후 연산을 하여 아래와 같이 계산이 가능하게 끔 만든다. NVL2 함수 NULL 값이 아닐 경우 특정 값으로 출력하는 함수 SELECT (expr1,expr2,expr3) FRO..

[Database] 데이터 타입 변환 TO_DATE,TO_NUMBER,TO_CHAR 사용법

데이터 타입 변환 형변환이 가능한 데이터에 한해서 묵시적 / 명시적 형변환이 이루어진다. 암시적(묵시적) 변환 - 타입이 자동적으로 변환 명시적 변환 - 타입이 강제로 변환 데이터 타입을 변경하는데 있어서 NUMBER CHARACTER DATE 이 세개는 단계를 거쳐야 한다. NUMBER에서 바로 DATE로 갈 수 없고 DATE 에서 바로 NUMBER로 갈 수 없다. CHARATER를 거쳐 가야 된다. 묵시적 형변환은 내가 형변환을 하지 않았음에도 컴파일러가 자동으로 형변환 한 것을 의미한다. TO_CHAR 숫자 -> 문자 / 날짜 -> 문자로 형변환하는 함수 1 2 SELECT TO_CHAR(문자, 자리수 표현) FROM DUAL; 1.변경할 문자를 넣는다. 2.어떻게 표현할지를 넣는다. 9는 자리수를..

[Database] 날짜함수 SYSDATE,ADD_MONTHS,MONTHS_BETWEEN 함수 사용법

날짜함수 SYSDATE 현재 날짜를 출력해주는 함수 SELECT SYSDATE FROM DUAL; ADD_MONTHS 개월수를 추가해서 보여주는 함수 1 2 SELECT ADD_MONTHS( 컬럼, 숫자) FROM EMPLOYEE; ADD_MONTHS(DATE, 숫자) 1.이곳에는 날짜 관련 한 컬럼에 대한 값을 넣어준다 2.이곳에는 추가 할 개월수를 넣어준다. MONTHS_BETWEEN 두 개월 사이의 차이를 비교하는 함수 1 2 SELECT MONTHS_BETWEEN(날짜, 날짜) FROM DUAL; 날짜 1번과 2번의 차이를 비교한다. 아래의 같은경우 SYSDATE로 오늘 날짜를 가져오고 HIRE_DATE로 입사일을 가져온다. 그 차이를 비교하여 입사일이 20년 이상인 사람들을 조회한다. -- 현재..

[Database] Round 함수 , Trunc 함수 사용법

ROUND 함수 - 지정한 자릿수에서 반올림 하는 함수 --구문 SELECT ROUND(VALUE1 ,VALUE2 ) FROM DUAL; --ex SELECT ROUND(125.315 , 0 ) FROM DUAL; VALUE1 : 반올림 할 숫자 VALUE2: 자리수 0일때 125 1일때 125.3 -1일때 130 이다 ROUND(number, [decimal_places) 리턴 타입: NUMBER TRUNC 함수 - 지정한 자리수 만큼의 값을 버리는 함수 --구문 SELECT TRUNC(value1 ,value2) FROMDUAL; --ex SELECT TRUNC(125.315 , 1) FROMDUAL; value1 : 숫자 value2 : 버려지는 위치의 자리수 뒷자리가 0 일때 125 뒷자리가 1 ..

[Databaes] SUBSTR 함수 사용법

SUBSTR 함수 문자를 추출하기 위해 사용되는 함수 1 2 3 SELECT SUBSTR(' ' , 6, 1) FROM 테이블명; 1.String - 추출 할 문자열 2.Position - 어느 위치부터 추출할건지 3.Length - 몇개를 추출할건지(가져올려는 갯수) SUBSTR( string, position, [length] ) 반환타입 - character 첫번째 쿼리로 This is a test 를 추출하는데 6번째부터 추출 한다. 공백 포함해서 This i 여기서 i까지가 6번째다 그 다음 2의 길이만큼까지니까 is 를 추출한다. 간단한 예제 현재의 테이블 -- 사원 테이블에서 입사년월일에서 입사년도만 출력하세요 -- 사원 테이블에서 사원의 이메일에서 메일 아이디만 출력하세요.