목록Oracle SQL (25)
나의 개발일지

일반 함수 표현식에 NULL 값을 비롯한 모든 데이터 유형의 값을 사용할 수 있는 함수 사용 가능한 일반함수의 종류는 수 백 가지에 이를 만큼 방대 일반 함수 종류 예 : NVL, NVL2, NULLIF, COALESCE ... 등등 NVL 함수 NULL 값을 실제 값으로 변환해주는 함수 구문 NVL(표현식1, 표현식2) 표현식1 : NULL을 포함하는 열 이름 또는 표현식 표현식2 : NULL 값을 변환할 대상 값 표현식2의 데이터 유형은 표현식1의 데이터 유형과 동일 NVL 함수를 활용하여 COMM이 NULL인 사원에 대하여 ANNSAL의 결과가 나오도록 하면서 사원의 연간 총 급여를 표시 NVL 함수를 이용해 NULL값을 실제 값으로 만들어주지 않고 계산하면 값과 NULL을 연산하게 되어 결과가 N..

함수의 중첩 단일 행 함수는 여러 번 중첩가능 가장 안쪽부터 바깥쪽 순으로 계산 예) CONCAT(birthdate, CONCAT('[', CONCAT(gender,']'))) 이름이 '영'으로 끝나는 사원들을 대상으로 문자함수를 중첩하여 이름의 두 번째 문자로부터 세 문자를 '*'로 표시하고 생년월일과 특수문자 '[]' 및 GENDER 열을 결합하여 생년월일 옆에 성별을 표시 SELECT emp_id, REPLACE(emp_name, SUBSTR(emp_name, 2, 4), '***') name, CONCAT(birthdate, CONCAT('[', CONCAT(gender,']'))) AS birth FROM y_emp WHERE emp_name LIKE '%영'; 입사 후 6개월 경과 후 첫 번째..

데이터 유형 변환 암시적 데이터 유형 변환 오라클 서버에 의해 자동으로 수행되는 데이터 유형 변환 명시적 데이터 유형 변환 변환 함수를 사용하여 사용자에 의해 수행되는 데이터 유형 변환 SQL 문의 신뢰성과 가독성을 높이기 위해서 권장되는 방법 변환 함수 SQL은 값의 데이터 유형을 변환하는 세 가지 함수 제공 TO_CHAR TO_DATE TO_NUMBER 암시적 형변환, 숫자 데이터 유형인 salary열의 값은 문자 함수 LPAD 사용으로 오라클 서버에 의해 자동으로 문자 데이터 유형으로 변환 SELECT emp_name, position, LPAD(salary, 10, '*') FROM y_emp WHERE email LIKE '%k%'; 암시적 형변환, WHERE 절의 문자 100을 숫자 100으로..

날짜 함수 날짜를 인수로 사용하며 날짜 또는 숫자를 결과로 반환 함수 설명 MONTHS_BETWEEN(date1, date2) 두 날짜 사이의 달 수를 반환 ADD_MONTHS(date, n) 지정된 날짜에 n개월을 더한 날짜를 반환 NEXT_DAY(date, 'char') 지정된 날짜 이후 지정한 요일 ('char')에 해당하는 날짜를 반환 LAST_DAY(date) 지정된 날짜를 포함한 달의 말일을 반환 ROUND(date[,'f']) f에 지정된 단위로 반올림한 날짜를 반환 TRUNC(date[,'f']) f에 지정된 단위로 절삭한 날짜를 반환 날짜 함수의 반올림과 버림 ROUND 와 TRUNC 날짜를 가장 가까운 연도 또는 달로 반올림하거나 절삭 자릿수 대신 날짜의 단위에 해당하는 형식 모델을 지..

숫자 함수 숫자를 인수로 사용하며 결과로 숫자를 반환 함수 설명 ROUND(n, interger) 숫자 n을 지정된 자릿수까지 남기고 반올림 TRUNC(n, interger) 숫자 n을 지정된 자릿수까지 남기고 절삭 MOD(m, n) 숫자 m을 n으로 나눈 나머지를 반환 ABS(n) 숫자 n의 절댓값을 반환 ROUND 와 TRUNC 주어진 숫자에 특정 자릿수 이하를 반올림 또는 버림 자릿수에 지정하는 수 0 또는 지정이 되지 않으면 일의 자리 양수이면 소수점 아래 음수이면 소수점 위의 자리 ROUND 함수 예 SELECT ROUND(56.834, 2), ROUND(56.834, 0), ROUND(56.834, -1) FROM DUAL; TRUNC 함수 예 SELECT TRUNC(56.834, 2), TR..

함수의 개념 인수를 입력하면 함수가 적용된 결과를 반환 함수의 용도 데이터에 대해 계산을 수행할 경우 각각의 데이터 항목을 변경할 경우 출력할 날짜형식을 변경할 경우 출력할 숫자에 형식을 지정할 경우 Column의 데이터 유형을 변경할 경우 행 그룹의 결과를 출력할 경우 단일행 함수 데이터를 조작해 보거나 데이터 유형 수정 가능 열 이름 또는 표현식이 인수 단일행 함수의 종류 문자 함수 숫자 함수 날짜 함수 변환 함수 일반 함수 문자 함수 문자를 입력 값으로 받으며 문자 또는 숫자 값을 반환 대소문자 조작 함수 LOWER(char) : 대소문자 또는 대문자 문자열을 소문자로 변환 UPPER(char) : 대소문자 또는 소문자 문자열을 대문자로 변환 INITCAP(char) : 각 단어의 첫 문자는 대문자..

ORDER BY 특정 순서로 행을 표시 SQL 문의 가장 끝에 위치 행을 오름차순(기본 순서) 또는 내림차순으로 정렬 선택적으로 ASC | DESC 지정 여러 열 기준의 정렬 ORDER BY 절에 쉼표로 열 이름을 구분하면서 여러 열을 지정 결과는 첫 번째 열 기준으로 정렬된 다음 그 결과 내에서 두 번째 열을 기준으로 정렬하는 방식 ASC, DESC는 열 이름마다 별도 지정 ORDER BY 절에 지정가능한 정렬 조건 열이름 또는 표현식 별칭 SELECT 절에 나열된열 목록을 기준으로 한 열 위치 값 사원 정보를 입사일이 가장 빠른 사원부터 순서대로(오름차순) 출력 SELECT emp_name, position, dept_id, hiredate FROM y_emp ORDER BY hiredate; 가장 ..

WHERE WHERE 절을 사용하여 쿼리에 반환되는 행을 제한 FROM 절 다음에서 조건을 표현하기 위해 열 이름, 표현식, 비교 연산자 및 상수로 구성 단일 SELECT 문장에서 WHERE 절은 한 번만 사용 가능 WHERE 절에 여러 조건을 지정하기 위하여 AND, OR과 같은 논리 연산자를 사용 WHERE 절의 기본 사용법 열 이름, 비교 조건, 상수 또는 값 목록 등 세 가지 요소로 구성 문자열 및 날짜는 단일 인용부호로 묶어야 하며 대소문자 구분 날짜는 기본 날짜 형식을 사용 100번 부서에서 근무하는 사원에 대한 사번, 이름, 직급, 부서번호를 나열 SELECT emp_id, emp_name, position, dept_id FROM y_emp WHERE dept_id = 100; 직급이 부사..