DAY 6 - SQL활용#3 함수

Min·2023년 8월 1일

1. 함수

  • 형식

    	select 함수(컬럼명) from 테이블명;
함수내용설명
abs절대값 출력select abs(-10) from dual;
-절대값 10이 출력됨
floor소수점 아래를 버림select floor(11.123) from dual;
-소수점을 잘라낸 11출력
round소수점 반올림select round(11.123),round(11.129,2) from dual;
11과 소수점 3째자리에서 반올림한 11.13 출력
trunc소수점 버림select trunc(123.129),trunc(123.129,-1) from dual;
123과 1의 자리에서 버림한 120 출력
mod나머지를 구함select mod(7,2),mod(5,3) from dual;
7을 2로 나눈 나머지 1과 5를 으로 나눈 나머지2가 출력된다.
lower
upper
initcap
소문자
대문자
시작부분만 대문자로 변경
-
concat문자열 합치기select concat(‘he’,’llo’) from dual;
두컬럼의 문자열을 합칠수 있다. 'hello' 출력
substr부분문자열 추출select substr('안녕 HELLO world',2,4) from dual;
실행결과 녕 HE 이출력된다.
문자열에서 2번째 인덱스부터 4개의 문자가 출력된다.
length문자열 개수select length('안녕 HELLO world') from dual;
14가 출력 된다.
ltrim
rtrim
trim
왼쪽공백 삭제
오른쪽공백 삭제
양쪽공백 삭제
-
instr특정 문자열의 위치를 찾음select instr(upper('wo 안녕 HELLOworld'),'WO',1,2) from dual;
실행결과 13첫번째 매개변수 문자열에서 두문자열을 찾음, 세번재 매개변수는 첫번문자열에서 찾을 때 시작할 위치, 네번재 매개변수찾은 동일한 문자열의 위치 중 해당번째 문자열 위치인덱스를 리턴
add_months월을 더함select add_months(sysdate,2) from dual;
결과값은 오늘 날짜보다 2달 증가한 값이 출력
next_day다음 요일의 날짜를 구함select next_day(sysdate,7) from dual;
1은 일요일 2는 월요일 7은 토요일에 해당하는 다음 날짜를 출력한다.
last_day달의 마지막일을 구함select last_day(sysdate) from dual;
해당 일에 마지막 일이 출력된다.
to_char문자형으로 변환select to_char(sysdate,‘YYYY/MM:dd HH24:MI:SS 입니다’) from dual;
to_date날짜형으로 변환select to_date(‘1977:05:06 14:05:06’ , ‘YYYY:MM:DDHH24:MI:SS’) from dual;
시간 포맷에서 대소문자 구분을 안함
to_number숫자형 변환select to_number(‘1’) from dual;

1.1 그룹 함수

연산자의미
sum검색된 총합을 반환
avg검색된 평균을 반환
count검색된 총 개수를 반환
max검색 결과 중 가장 큰 값
min검색 결과 중 가장 작은 값


❌ 일반 컬럼과 함께 사용 불가능 ❌
ex)

select sum(salry),salary from employees;

2. group by 절

  • 특정 그룹에 대한 연산이 필요할 때 사용하는 것이 group by 이다.

ex)

select 기준컬럼,그룹함수사용컬럼 from 테이블명 where 조건

2.1 having절

  • having절은 반드시 group by와 함께 사용되며, group by에 조건을 줄 때는 where절이 아닌 having만 사용 가능하다.

ex)

select 컬럼 from 테이블명 where 조건 group by 컬럼 having 조건 order by 컬럼;

0개의 댓글