20210218_SQL 기초 8 (기타 SQL 내장 함수)

2022. 2. 18.공부/SQL, R

728x90

* 조건문

IF(수식, 참일때 리턴값, 거짓일때 리턴값)  수식의 참/거짓을 판단하여 정해준 파라미터 반환함
IFNULL(수식1,수식2) 수식1이 NULL이 아니면 수식1을 반환하고, NULL이면 수식2로 반환함
NULLIF(수식1,수식2)  파라미터끼리 같으면 NULL 반환, 파라미터끼리 다르면 수식1 반환
CASE~WHEN~ELSE~END 구문 CASE 이후 작성한 입력값을 WHEN~이후 구문과 일치하는지 판별하여 일치하는 구문의 코드를 실행함. 일치하는 구간이 없으면 ELSE 쪽 자료로 반환. + 구문이 끝나는 시점에 END라는 키워드 작성하며, 컬럼명 지정을 위해 alias를 붙여준다.

* 문자열 함수 

ASCII(문자)  해당 문자의 아스키 코드로 변환하여 표현
CHAR(숫자) BLOB으로 반환 (해당 숫자를 바이너리 데이터의 형태로 변환하여 표현), workbench 상에서 결과를 조회하고 싶다면 BLOB을 우클릭하여 Open value in viewer -> text 탭을 선택하면 된다.
CHAR_LENGTH('문자열') 문자열 길이를 반환함
CONCAT('문자1','문자2','문자3','문자4'....) 함수 안에 들어있는 모든 문자가 이어진 문자열 반환
CONCAT_WS('구분자', '문자1', '문자2'....); 함수 안에 들어있는 모든 문자를 이어주는데, 문자와 문자 사이에 구분자가 들어가는 식으로 표현하여 반환
FORMAT(float 자료형, int 자료형) 실수가 가진 소수점 자리의 앞부분을 int 자료형만큼 끊은 형태로 반환
BIN(숫자) 숫자(10진수)를 2진수로 반환
HEX(숫자) 숫자(10진수)를 16진수로 반환
OCT(숫자) 숫자(10진수)를 8진수로 반환
INSERT('기준 문자열', 위치(int), 길이(int), '삽입할 문자열') 기준 문자열의 위치-길이만큼 지워주고 사이에 삽입할 문자열을 넣어줌
REPEAT('문자열', 횟수) 문자열을 횟수만큼 반복하여 반환
REPLACE('기준 문자열', '찾을 문자열', '바꿀 문자열')  '기준 문자열'에서 '찾을 문자열'을 찾아 '바꿀 문자열'로 바꿈
REVERSE('문자열')  문자열을 인덱스 역순으로 재배치
SPACE(숫자) 숫자의 길이만큼의 공백으로 반환
ex. SELECT CONCAT('이것이', SPACE(50), '저것이');
SUBSTRING('문자열' FROM 시작위치 FOR 길이) 시작 위치부터 길이만큼의 문자를 반환 
SUBSTRING('문자열', 시작위치, 길이) 시작 지점부터 끝까지 모든 문자를 반환