일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 반복문
- SQL
- DP
- 오라클
- Dynamic Programming
- n x 2 타일링 2
- Algorithm
- 알고리즘
- 데이터길이
- 데이터베이스
- 변수
- algoritm
- JOIN
- 그대로 출력하기
- 소숫점처리
- 문자열
- oracle
- Eclipse
- Java
- ANSI JOIN
- 2156
- 입출력
- 백준
- darkest dark
- db
- 10951
- Database
- select
- 동적계획법
- 자바
- Today
- Total
목록전체 글 (78)
Cracking Code

SQL에서도 다른 개발 언어와 같이 조건별로 데이터 리턴이 가능합니다. CASE WHEN THEN END와 DECODE 함수가 있습니다. 본문에선 CASE를 먼저 알아보도록 하겠습니다. CASE (ANSI) CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 ... WHEN comparison_exprn THEN return_exprn ELSE else_expr] END CASE는 일반 연산 시와 비교 연산 시에 따라 컬럼(expr)의 위치가 조금 바뀝니다. 예제로 알아보겠습니다. 사원 테이블에서 사원의 번호, 이름, 급여, 급여의 배수를 한 값 직업이 ANALYST인 경우 급여에 1.1배 CL..

SQL 함수로 데이터형 간에 변환을 이뤄주는 함수에 대해서 알아보겠습니다. 시작하기 전에 용어 정리 들어갑니다! 묵시적 형변환: DBMS에서 알아서 판단하고 자동으로 데이터형을 변환 명시적 형변환: 사용자가 어떤 형태로 데이터를 변환시킬지 명시하여 변환 1. TO_CHAR TO_CHAR(n | date, 'format') 숫자, 날짜, 문자열을 지정한 format의 VARCHAR2 문자열로 변환합니다. 예제로 알아보기 앞서서 포맷에 쓰이는 문자들을 알아볼까요? YYYY 년도를 숫자로 표시 YEAR 년도를 영문 표시 MM 월을 숫자로 표시 MONTH 월을 영문 표시 MON 월을 영문 3자리 표시 DY 요일을 영문 3자리, 한글 1자리 표시 DAY 요일을 영문, 한글로 표시 DD 일을 숫자로 표시 AM | ..

날짜를 인자로 받아 계산하여 결과를 리턴하는 날짜 관련 함수를 알아보겠습니다. 함수를 알아보기 전에 앞서 간단한 날짜 출력문을 알아보겠습니다. SYSDATE: 현재 날짜 출력 SYSTIMESTAMP: 현재 날짜, 시각 출력 각 컬럼에 현재 날짜 및 날짜와 시간이 잘 표시됩니다. 주의) 날짜 데이터는 그 안에 현재의 연, 월, 일, 시간 모두 포함되어 있습니다. 그 데이터를 기반으로 미리 설정된 날짜 형식에 따라 출력됩니다. 그럼, 이 날짜 데이터들을 활용한 함수들에 대해 알아볼까요? 1. MONTHS_BETWEEN MONTHS_BETWEEN(date1, date2) date1과 date2의 월간 차이를 계산하여 출력합니다. 사원 테이블의 부서 번호가 10인 사원들이 몇 달 근무했는지 알아볼까요? SELE..

숫자 데이터형의 소숫점 자리를 처리할 수 있는 함수에 대해 알아보겠습니다. 1. CEIL 주어진 숫자보다 크거나 같은 최소의 정수를 리턴합니다. CEIL(column | expression) CEIL 함수에 10.1을 인자로 받아 출력해봅니다. SELECT CEIL(10.1) FROM DUAL; 10.1 보다 크거나 같은 최소의 정수인 11이 출력되는 것을 확인할 수 있습니다. 2. FLOOR 주어진 숫자보다 작거나 같은 최대의 정수를 리턴합니다. FLOOR(column | expression) FLOOR 함수에 10.1을 인자로 받아 출력해봅니다. SELECT FLOOR(10.1) FROM DUAL; CEIL 과는 반대로 10.1 보다 작거나 같은 최대의 정수인 10이 출력되는 것을 확인할 수 있습니다..

문자열의 특정 문자열을 치환하는 함수를 소개합니다. REPLACE 문자열 안에 모든 특정 문자열을 치환해줍니다. REPLACE(column, 's1', 's2') column의 문자열 데이터의 모든 s1을 s2로 치환하여 출력해줍니다. 사원 테이블에서 사원의 이름과 직업, 그리고 직업의 A 문자를 $ 문자로 치환하여 출력해봅니다. SELECT ENAME, JOB, REPLACE(JOB, 'A', '$') FROM EMP; 사원들의 직업 문자열의 A 문자가 전부 $ 문자로 변경되어 출력되는 것을 확인할 수 있습니다.

데이터의 길이를 리턴해주는 LENGTH 함수를 소개합니다. CEIL LENGTH 함수는 데이터의 길이를 반환하여 사용자에게 알려줍니다. LENGTH(column or 's') 사원 테이블의 부서번호가 20인 사원의 번호, 이름, 이름의 길이, 급여, 급여의 자릿수를 출력해봅니다. SELECT EMPNO, ENAME, LENGTH(ENAME) 이름길이, SAL, LENGTH(SAL) 급여자릿수 FROM EMP WHERE DEPTNO = 20; 각 사원의 이름길이와 급여의 자릿수가 출력되는 것을 확인할 수 있습니다.

검색을 할때 공백을 제거하거나 문자를 지워 보다 많은 정보를 탐색할 수 있게 도와주는 함수를 소개합니다. 1. TRIM 문자열의 왼쪽 또는 오른쪽 또는 양쪽에 있는 공백 또는 지정 문자를 제거합니다. TRIM([{LEADING | TRAILING | BOTH} 'S' FROM] TABLE) 옵션에는 LEADING, TRAILING, BOTH가 있습니다. LEADING은 왼쪽, TRAILING은 오른쪽, BOTH는 양쪽의 공백이나 지정 문자의 반복을 제거합니다. 아무것도 입력하지 않으면 BOTH로 작동합니다. 인자로 문자열만 넣으면 양 옆의 공백을 제거합니다. 단, 다른 문자의 사이에 있는 문자는 제거하지 않습니다. 사원 테이블의 사원 번호가 7844인 사원의 번호, 직업, 직업의 왼쪽에서 S 문자 제거,..

SUBSTR SUBSTR(column, n, m) n번째 자리부터 길이가 m인 문자열을 반환합니다. n이 음수일 경우 뒤에서 n번째 자리부터 길이가 m인 문자열을 반환합니다. 단, m을 입력하지 않은 경우 n번째 자리부터 끝까지 문자열을 반환합니다. 사원 테이블에서 사원의 이름과 이름의 1번째부터 3번째까지 출력해봅니다. SELECT ENAME, SUBSTR(ENAME, 1, 3) FROM EMP; 사원들의 이름이 1번째부터 3번째까지만 출력되는 것을 확인할 수 있습니다. INSTR INSTR(column, 's', n, m) 전체 문자열의 n번째 위치에서 원하는 m번째 문자열의 시작 위치를 리턴합니다. 없으면 0을 리턴합니다. 이름이 SCOTT인 사원의 이름의 1번째 문자부터 탐색하여 나오는 2번째 T..