먼저, 그룹함수란 두 개 이상의 여러개의 행을 묶어서 하나의 output 값을 리턴해주는 함수입니다. 예를 들자면, 합: sum, 평균: average 같은 함수를 말합니다. 카운트 - COUNT COUNT(컬럼명) :: 특정 컬럼 값이 NULL 인 값을 제외한 데이터의 개수 리턴 COUNT(*) :: NULL 값을 포함한 데이터의 개수 리턴 COUNT 함수는 어디에 쓰냐! 하믄,, 나중에 배울 group by 함수와 함께 사용하면, 남녀 성별 카운트를 확인할 수 있답니다. 현업에서 대량의 데이터를 모두 조회하는데, 데이터가 몇 억개정도 있다고하면.. CPU가 부글부글 할 것입니다. 그럴 때 미리 COUNT 함수를 사용해서 데이터의 개수를 확인한 후 필요한 데이터만 추출하여 조회한다면 CPU도 아주 좋아..
조건문 - DECODE DECODE(A, B, '1', null) :: A 가 B 일 경우 '1'을, 아닐 경우 null(생략 가능) DECODE(A, B, '1', '2') :: A 가 B 일 경우 '1'을, 아닐 경우 '2' DECODE(A, B, '1', C, '2', '3') :: A 가 B 일 경우 '1'을, A 가 C 일 경우 '2', 둘 다 아닐 경우 '3' DECODE(A, B, DECODE(C, D, '1', null)) :: A 가 B 일 경우, C 가 D 를 만족하면 '1', C 가 D 가 만족 안 하면 null DECODE(A, B, DECODE(C, D, '1', '2')) :: A 가 B 일 경우, C 가 D 를 만족하면 '1', C 가 D 를 만족 안 하면 '2' SQL의 DE..
NULL 값 치환하기 - NUL NVL(조사할 컬럼, null일 경우 치환할 값) 먼저, 주의할 점은 조사할 컬럼(comm)과 치환할 값(0)의 데이터 타입이 같아야 한다는 것입니다. 적용해보면, 기존 NULL 값이 0으로 치환된 것을 볼 수 있습니다. 응용해보면, 여기서 '보너스 없음' 은 문자형이므로 COMM 컬럼의 타입을 문자형으로 변환하지 않으면, 실행이 되지 않습니다. 그러므로 조사할 컬럼과 치환할 값의 데이터 형식을 맞춰주기위해 COMM 컬럼을 TO_CHAR 함수를 사용해서 문자로 만들어준거죠! NULL 값 치환하기 - NUL2 NVL2(조사 대상 컬럼 , null이 아닐 경우 치환할 값 , null일 경우 치환할 값) 이 함수는 NUL 함수와 다르게, 조사대상 컬럼(comm)과 null 인 ..
문자형을 숫자형으로 변환하기- TO_NUMBER TO_NUMBER(숫자같은 문자) 먼저, Oracle 에서 TO_NUMBER 함수를 사용하지 않아도 문자를 숫자로 인식하고 계산해줍니다. 이것은 Oracle의 특징인데, 데이터 형을 자동으로 변환해주어 상수인지 문자열인지 알아서 구분해준다는 것이죠! 이를 묵시적, 혹은 자동 형 변환이라고 합니다. 결과가 똑같은 것을 확인할 수 있습니다. 하지만 이는 Oracle 에 적용되는 것이고 다른 DB나 언어에서는 적용이 안될 수 있다는 것! 참고해주세요~ 참고: KIC 캠퍼스 머신러닝기반의 빅데이터분석 양성과정
숫자형 데이터를 문자형 데이터로 변환하기 - TO_CHAR TO_CHAR(숫자 데이터, 원하는 모양) 먼저, 숫자 데이터를 보면 첫 번째는 자리수만큼으로 앞에 두 칸이 띄어진 것을 확인, 두 번째는 빈 자리는 0으로 채워졌고, 세 번째는 $ 표시로, 네 번째는 소수점 이하가 표시, 다섯 번째는 천 단위로 구분기호가 표시된 것을 확인할 수 있습니다. 9로 정말 다양한 표현을 하죠?!ㅋ_ㅋ TO_CHAR(date, 원하는 모양) 날짜 포맷 변경은 정말 중요하다고 합니다! 이미 날짜타입으로 인식된 데이터의 포맷을 문자형으로 변환하는 함수인데요. 나중에 배울 TO_DATE 함수는 문자 타입의 데이터를 날짜형식으로 변환해줍니다. 이렇게 날짜 데이터와 원하는 형식을 써주면 그 형태로 반환해줍니다. 다음과 같은 형식..
날짜 관련 함수(1) 날짜 함수는 R과 Python 에서도 계속 사용되므로 매우 중요합니다! 오늘은 먼저 SYSDATE, MONTHS_BETWEEN, ADD_MONTHS 라는 함수에 대해 알아보겠습니다. 현재 시간 출력 - SYSDATE SYSDATE 결과를 확인해보면, sysdate 함수는 현재 시간을 출력해준다. Oracle 에서는 날짜 데이터에 +, - 가 가능한데, 일(Day) 기준으로 계산합니다. sysdate 함수를 예시에 적용해볼까요?! 직원들의 근무 일수를 알고싶다면, 다음과 같이 사용할 수 있습니다. 여기서 Trunc 함수를 사용하면 소수점이 없는 깔끔한 결과를 확인할 수 있습니다. 결과를 확인해보면, 현재 시간에서 고용된 날을 빼줌으로 근무 일 수를 확인할 수 있습니다. 두 날짜 간 개..