Oracle

DB/Oracle

[오라클 함수] NULL 처리 함수

NULL 함수 NULL은 연산이 불가능하다. 오라클은 NULL일 경우 연산을 하기 위해 NULL값을 다른 데이터로 변환하는 NVL과 NVL2 함수를 사용한다. NVL 함수 NVL 함수는 첫 번째 입력 데이터가 NULL이면 두 번째 입력 데이터 값으로 저장하고, NULL이 아닐경우 그대로 첫 번째 입력값이 그대로 반환된다. NVL([NULL인지 여부를 검사할 데이터 또는 열(필수)], [앞의 데이터가 NULL일 경우 반환할 데이터](필수)) NVL 함수를 통해 급여외 수당(COMM)이 NULL이면 0으로 대체하고 0이 아니면 그대로 값을 출력하는 쿼리문을 작성해보자. SELECT EMPNO, ENAME, SAL, COMM, SAL+COMM, NVL(COMM, 0), SAL+NVL(COMM, 0) FROM ..

DB/Oracle

[오라클 함수] 형 변환 함수

형 변환 함수 오라클은 다양한 데이터 종류의 자료형을 제공한다. 잘못된 자료형의 사용으로 인해 즉, 잘못된 형 변환으로 인해 오류가 발생한다. Query 출력값 사원 'SCOTT'의 사원번호와 문자열 'ABCD'를 사원번호와 합친 데이터를 출력하려했다. 하지만 문자열+숫자는 타입이 맞지않아 'invalid number'에러 즉 수치가 부적합하다는 오류가 발생했다. 이처럼 형번환의 문제를 해결하기 위해 오라클은 다음과 같이 세 종류의 형 변환 함수를 제공한다. 종류 설명 TO_CHAR 숫자 또는 날짜 데이터를 문자 데이터로 변환 TO_NUMBER 문자 데이터를 숫자 데이터로 변환 TO_DATE 문자 데이터를 날짜 데이터로 변환 날짜, 숫자 데이터를 문자 데이터로 변환하는 TO_CHAR 함수 TO_CHAR ..

DB/Oracle

[오라클 함수] 날짜 함수

날짜 함수 오라클은 날짜 데이터를 다루는 다양한 함수를 제공한다. 날짜 데이터를 다루는 함수를 하나씩 알아보도록 하자. 몇 개월 이후 날짜를 구하는 ADD_MONTHS 함수 오라클은 특정 날짜에 지정한 개월 수 이후 날짜 데이터를 번환하는 ADD_MONTHS 함수를 제공한다. ADD_MONTHS([날짜 데이터(필수)], [더할 개월 수(정수)(필수)] 현재 날짜에 3개월을 더한 결과를 ADD_MONTHS 함수를 쿼리문을 통해 출력해보자. 글을 작성하는 오늘 날짜는 2022년 2월 9일이다. ADD_MONTHS 함수를 통해 3개월 이후의 값을 구하면 22년 5월 9일 날짜가 정확히 나온다. ADD_MONTHS 함수의 대표 예시로 입사 10주년이 되는 사원들을 쿼리를 통해 출력해보자. 10주년이면 개월 수로..

DB/Oracle

[오라클 함수] 문자함수

오라클 함수 오라클은 특정한 결과 값을 얻기 위해 데이터를 입력할 수 있는 특수 명령어가 존재하는데 이를 오라클 함수라 한다. 오라클 함수는 오라클 함수에서 기본으로 제공하는 내장함수와 사용자 필요에 의해 직접 정의한 사용자 정의 함수로 나뉜다. 내장함수 안에는 데이터가 한 행씩 입력되고 입력된 한 행당 결과가 하나씩 나오는 단일행 함수와 여러 행이 입력되어 하나의 행으로 결과가 반환되는 다중행 함수가 있다. 문자함수 UPPER, LOWER, INITCAP 함수 문자 함수에는 대·소문자로 바꿔주는 함수가 있다. 함수 설명 UPPER(문자열) 괄호 안 문자 데이터를 모두 대문자로 변환하여 변환 LOWER(문자열) 괄호 안 문자 데이터를 모두 소문자로 변환하여 변환 INTCAP(문자열) 괄호 안 문자 데이터..

DB/Oracle

WHERE절과 연산자

WHERE절 SELECT문에서 테이터를 조회할 때 특정 조건, 기준으로 행을 출력하기 위해 'WHERE절'을 사용한다. 만약 부서 번호가 30인 데이터만 출력하고 싶다면 다음과 같은 SQL문과 함께 출력된다. SELECT * FROM EMP WHERE DEPTNO = 30; WHERE절의 기본 형식은 다음과 같다. SELECT [조회할 열 1 이름]. [열2 이름], ..., [열N 이름] FROM [조회할 테이블 이름] WHERE [조회할 행을 선별하기 위한 조건식]; 여러 개 조건식을 사용하는 AND, OR 연산자 AND 두 개의 조건식을 동시에 사용할 때 AND연산자를 사용한다. 예를 들어 부서(DEPTNO)가 '30'이면서, 직업(JOB)이 'SALESMAN'인 조건식을 만든다면 AND연산자를 사..

DB/Oracle

SELECT문의 기본 형식

SQL의 기본 뼈대, SELECT절과 FROM절 SELECT문은 데이터베이스에 보관되어 있는 데이터를 조회하는 문법이다. 기본 형식은 아래와 같다. SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름] FROM [조회할 테이블 이름]; 만약 테이터의 모든 열을 조회하고자 할 떄는 간단하게 *(애스터리스크)를 통해 출력할 수 있다. SELECT * FROM EMP; 사원번호, 이름, 사원이 속한 특정한 열만 출력 하고 싶다면 아래와 같이 출력하면 된다. SELECT EMPNO, ENAME, DEPTNO FROM EMP; SELECT는 가장 많이 쓰이는 SQL문법중 하나이므로 꼭 기억하도록 하자. 중복 데이터를 삭제하는 DISTINCT 데이터를 조회하다보면, 중복된 데이터가 출력될 때가..

기혁씨의 삽질표류기

[오라클]Oracle 12C 이상 버전 SCOTT활성화

처음 오라클을 접하는 사람들은 대게 SCOTT계정을 이용해 실습을 진행한다. 나 역시 오라클을 공부하기 위해 SCOTT을 활성화하길 시도했다. 그런데 오류가 발생했다. 기존에 알려주던 방식대로 cmd창 열기->system으로 접속->SCOTT파일 경로 지정(@입력 후 scott.sql파일을 드래그하면 경로가 자동으로 입력된다. scott.sql파일은 윈도우에서 검색을 통해 찾는 게 빠르다.)->SCOTT계정 접속 을 시도했다. 그러나 위와 보는 바와 같이 'ORA-01017'오류가 발생했다. 혹시나 비밀번호가 잘못됐나싶어 alter문을 활용했지만 이번에는 연결되지 않는다는 메세지가 나왔다. 한마디로 멘붕. 문제를 해결하기위해 곧장 구글 검색을 시작했고 장시간의 삽질끝에 해결방법을 알았다. 오라클은 11g..

기혁씨의 삽질표류기

[오라클]ORA-12505 오류해결 Listener refused the connection with the following error : ORA-12505, TNS: listener does not currently know of SID given in connect descriptor

오라클을 쓰기위해 힘들게 오라클을 다운받고 sql developer를 설치했다. 설치에 성공하고 접속하려는데 오류가 떴다. 젠장. Listener refused the connection with the following error : ORA-12505, TNS: listener does not currently know of SID given in connect descriptor SID가 정확하지 않다는 오류였다. 처음 겪는 오류라서 즉시 구글링을 했고 문제점을 해결할 수 있었다. SID의 정확한 값을 알아 sql deveploer에 입력해줘야 하는데 SID값을 확인하기 위해선 프롬프트를 이용해야한다. 시작->검색->cmd 입력 위의 경로를 따라가면 프럼프트가 작동한다. SID의 값을 알기위해 프롬프..

각시탈코더
'Oracle' 태그의 글 목록 (2 Page)