| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- springaop
- 자바스크립트
- sql
- 서브쿼리
- progressive web app
- 메이븐
- sqldeveloper
- js
- TIL
- 오라클
- javaprogramming
- TodayILearned
- JavaScript 내장객체
- HTML
- 프로그레시브웹앱
- mybatis
- 프레임워크
- framework
- 자바프로그래밍
- 국비지원
- Oracle
- CSS
- 스프링
- tdd
- PWA
- SpringMVC
- maven
- javascript
- 생활코딩
- web
- Today
- Total
1cm
자바 프로그래밍_Day_28_함수(Function)2 본문

2021. 09. 28
> 형변환 함수
| 구분 | 입력 값 타입 | 리턴 값 타입 | 설명 |
| TO_CHAR | DATE NUMBER |
CHARACTER | 날짜형 혹은 숫자형을 문자형으로 변환 |
| TO_DATE | CHARACTER NUMBER |
DATE | 문자형 혹은 숫자형을 날짜형으로 변환 |
| TO_NUMBER | CHARACTER | NUMBER | 문자형을 숫자형으로 변환 |

-> 형 변환 함수 | TO_CHAR
-> 날짜 혹은 숫자형 데이터를 문자형 데이터로 변환하여 반환하는 함수
-> 작성법 : TO_CHAR(DATE[, FORMAT])
-> 작성법 : TO_CHAR(NUMBER[, FORMAT])
-> DATE : 문자형으로 변환하려는 날짜형 데이터
-> NUMBER : 문자형으로 변환하려는 숫자형 데이터
-> FORMAT : 문자형으로 변환 시 지정할 출력 형식
-> FORMAT 형식
| 형식 | 의미 | 형식 | 의미 |
| YYYY | 년도 표현(4자리) | YY | 년도 표현(2자리) |
| MM | 월을 숫자로 표현 | MON | 월을 알파벳으로 표현 |
| DAY | 요일 표현 | DY | 요일을 약어료 표현 |

-> 추가로 궁금한 포맷은 구글링 : 오라클 날짜 포맷 (Oracle Data Format)







-> 숫자 타입을 문자 타입으로 형변환

-> 원하는 테이블에서 사원명, 급여 조회






-> 날짜 데이터를 문자 데이터로 형변환해서 출력



-> 연, 월, 일에 대한 포맷 실습

-> 요일에 대한 포맷

-> 입사일 지정 포맷 실습 / 년, 월, 일 문자는 포맷 문자(yy, mm, dd)가 아니기 때문에 오류가 나올 수 있으므로, 큰 따옴표로 묶어줘야 한다.
-> 형 변환 함수 | TO_DATE
-> 숫자 혹은 문자형 데이터를 날짜형 데이터로 변환하여 반환하는 함수
-> 작성법 : TO_DATE(CHARACTER[, FORMAT])
-> 작성법 : TO_DATE(NUMBER[, FORMAT])
-> CHARACTER : 날짜형으로 변환하려는 문자형 데이터
-> NUMBER : 날짜형으로 변환하려는 숫자형 데이터
-> FORMAT : 날짜형으로 변환 시 지정할 출력 형식


-> 숫자 타입의 데이터를 문자 타입의 데이터로 변환하여 반환



-> 문자 타입의 데이터를 원하는 날짜 타입 데이터 포맷으로 변환하여 반환




-> YY와 RR 비교

-> 원하는 날짜 기준으로 데이터 조회
-> 형 변환 함수 | TO_NUMBER
-> 날짜 혹은 문자형 데이터를 숫자형 데이터로 변환하여 반환하는 함수
-> 작성법 : TO_NUMBER(CHARACTER[, FORMAT])
-> CHARACTER : 숫자형으로 변환하려는 문자형 데이터
-> FORMAT : 날짜형으로 변환 시 지정할 출력 형식




-> 문자 입력, 콤마 입력 시 발생하는 에러 -> 숫자 형태의 문자들만 자동 형변환된다.

-> 숫자값을 형변환 해주면서 포맷 설정을 해주면 연산이 가능해진다.
-> NULL처리 함수 | NVL
-> NULL로 되어있는 컬럼의 값을 인자로 지정한 숫자 혹은 문자로 변경하여 반환하는 함수
-> 작성법 : NVL(P1, P2)
-> P1 : NULL데이터를 처리할 컬럼명 혹은 값
-> P2 : NULL값을 대체하고자 하는 값
-> NULL처리 함수 | NVL2
-> NULL로 되어있는 컬럼의 값을 인자로 지정한 숫자 혹은 문자로 변경하여 반환하는 함수
-> DECODE 함수와 비슷한 IF문의 기능을 가지고 있다.
-> 작성법 : NVL2(P1, P2, P3)
-> P1 : NULL데이터를 처리할 컬럼명 혹은 값
-> P2 : NULL이 아닐 경우의 값
-> P3 : NULL일 경우의 값
-> NULL처리 함수 | NULLIF
-> NULL로 되어있는 컬럼의 값을 인자로 지정한 숫자 혹은 문자로 변경하여 반환하는 함수
-> 작성법 : NULLIF(P1, P2)
-> P1 : 비교대상 1
-> P2 : 비교대상 2
-> 두 개의 값 동일할 경우 NULL 반환, 두 개의 값이 동일하지 않을 경우 P1 반환


-> NVL 함수 처리 실습 -> BONUS가 0일 경우 0반환

-> DEPT_CODE가 NULL일 경우 부서없음 출력

-> NVL2 함수 처리 실습 -> BONUS가 NULL이 아니면 0.1반환, BONUS가 NULL이면 0으로 변환하여 반환한다.


-> NULLIF 함수 처리 실습 -> 문자


-> NULLIF 함수 처리 실습 -> 숫자
-> 선택 함수 | DECODE
-> 비교하고자 하는 값 또는 컬럼이 조건식과 같으면 결과 값 반환
-> 작성법 : DECODE(표현식, 조건1, 결과1, 조건2, 결과2, ..., DEFAULT)
-> 표현식 : 값에 따라 선택을 다르게 할 컬럼 혹은 값
-> 조건 : 해당 값이 참인지 거짓인지 여부 판단
-> 결과 : 해당 조건과 일치하는 경우 반환할 값
-> DEFAULT : 모든 조건이 불일치 시 반환할 값

-> DECODE 함수 실습

-> DECODE 함수 실습 -> SALARY 값에 연산한 값을 결과값으로 나올 수 있도록 했다.
-> 선택 함수 | CASE
-> 비교하고자 하는 값 또는 컬럼이 조건식과 같으면 결과 값 반환(조건은 범위 값 가능)
-> 작성법 : CASE WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
WHEN 조건3 THEN 결과3
...
ELSE 결과N
END
-> 조건 : 해당 값이 참인지 거짓인지 여부 판단
-> 결과 : 해당 조건과 일치하는 경우 반환할 값
-> DEFAULT : 모든 조건이 불일치 시 반환할 값

-> CASE 함수 실습

-> CASE 함수 실습 -> 급여별 등급 나눈 후 ORDER BY로 오름차순 정렬
> 그룹 함수
-> 하나 이상의 행을 그룹으로 묶어 연산하며 총합, 평균 등을 하나의 컬럼으로 반환하는 함수
| 구분 | 설명 |
| SUM | 그룹의 누적 합계 반환 |
| AVG | 그룹의 평균 반환 |
| COUNT | 그룹의 총 개수 반환 |
| MAX | 그룹의 최대 값 반환 |
| MIN | 그룹의 최소 값 반환 |
-> 그룹 함수 | SUM
-> 해당 컬럼 값들의 총합 반환
-> 작성법 : SUM(컬럼)




-> 그룹 함수 | AVG
-> 해당 컬럼 값들의 평균 반환
-> 작성법 : AVG(컬럼)

-> 그룹 함수 | MAX | MIN
-> 그룹의 최대값과 최소값 반환
-> 작성법 : MAX(컬럼1), MIN(컬럼1)
-> 컬럼 1은 동일한 컬럼

-> 그룹 함수 | COUNT
-> 테이블 조건을 만족하는 행의 개수 반환
-> 작성법 : COUNT(컬럼 | *)






'국비지원_Java > Java Programming_1' 카테고리의 다른 글
| 자바 프로그래밍_Day_30_데이터베이스 구현 평가 (0) | 2021.10.09 |
|---|---|
| 자바 프로그래밍_Day_29_GROUP BY & HAVING (0) | 2021.10.06 |
| 자바 프로그래밍_Day_27_함수(Function) (0) | 2021.09.30 |
| 자바 프로그래밍_Day_26_SELECT 연산자 (0) | 2021.09.29 |
| 자바 프로그래밍_Day_25_ 오라클 데이터베이스(Oracle Database) (0) | 2021.09.29 |