2024. 5. 31. 19:18ㆍSQL
함수
- 컬럼 값이나 지정된 값을 읽어 연산한 결과를 반환하는 것
- 단일 행 함수 : N개의 행의 컬럼 값을 전달하여 N개의 결과가 반환
- 그룹 함수 : N개의 행의 컬럼 값을 전달하여 1개의 결과가 반환
그룹의 수가 늘어나면 그룹의 수 만큼 결과를 반환
- 함수는 SELECT절, WHERE절, ORDER BY절, GROUPT BY절, HAVING절에서 사용 가능
1. SELECT절 : 찾는 기준이 아닌 표기되는 총합, 계산 결과 등에 대한 것을 정리해 놓은 컬럼
-> 정리해서 보여주기
2. WHERE절 : 찾는 조건이 되는 행을 작성해줌. 길이, 크기, 결과가 조건에 부합하는 것만 볼 수 있도록 설정
-> 정리의 기준을 제시. 내가 원하는 것만 보기
단일 행 함수
문자열 관련 함수
LENGTH(문자열 OR 컬럼명) : 문자열의 길이 반환
INSTR(문자열 OR 컬럼명, '찾을 문자열', 찾는 것을 시작할 위치, 순번)
찾을 시작 위치부터 지정된 순번에 따라 찾은 문자열의 시작 위치를 반환
LIKE와 INSTR 차이점
LIKE : 특정 문자가 들어갔는지 검색
INSTR : 특정 문자가 몇 번째에 있는지 검색
SUBSTR(문자열 OR 컬럼명, 시작위치, 길이)
문자열을 시작 위치부터 지정된 길이만큼 잘라내서 반환
길이를 작성하지 않은 경우 시작 위치부터 끝까지 반환
그룹 관련 함수
COUNT : 행의 총 개수를 셀 때 사용하는 함수
COUNT(*) : 조회된 모든 행의 개수 반환
COUNT(컬럼명) : 지정된 컬럼에서 값이 NULL이 아닌 행의 개수 반환(NULL은 제외한 개수를 작성)
COUNT(DISTINCT 컬럼명) : 지정된 컬럼에서 중복 값을 제외한 행의 반환
AVG : 평균
공백 관련 함수
TRIM([옵션] [문자열 OR 컬럼명] FROM [문자열 OR 컬럼명])
문자열의 앞쪽 OR 뒤쪽 OR 양쪽에 존재하는 지정된 문자열 제거
옵션 : 앞쪽(LEADING), 뒤쪽(TRAILING), 양쪽(BOTH) -> 기본값
TRIM의 경우 문자 1개만 가능. '' 안에 문자가 2개 이상 들어가면 에러가 발생 EX) 스페이스바 2번
REPLACE : 특정 문자열을 대체할 때 사용
REPLACE(문자열 OR 컬럼명, 찾을 문자열, 바꿀 문자열)
TO_NUMBER
TO_NUMBER('문자열');
ORACLE SQL에만 존재
문자열을 숫자 데이터 형식으로 변환하는 데 사용
추후 JAVA INT 값이 아니라 STRING 값으로 넘어오고 변환이 필요할 때 TO_NUMBER 사용할 일이 있을 수 있음
-- 문자열을 숫자로 변환하는 코드
SELECT TO_NUMBER('12345') FROM DUAL;