SQL

SQL 내장 함수

hallojih 2021. 11. 17. 00:17

IF(수식, 참, 거짓)

: 수식이 참 또는 거짓인지 결과에 따라서 2중 분기한다.

SELECT IF (100>200, '참이다', '거짓이다');

=> 거짓이다

 

IFNULL(수식1, 수식2)

: 수식1이 NULL이 아니면 수식1이 반환되고, 수식1이 NULL이면 수식2가 반환된다.

SELECT IFNUL(NULL, '널이군요'), IFNULL(100, '널이군요');

=> 널이군요                          =>100

 

NULLIIF(수식1, 수식2)

: 수식1과 수식2가 같으면 NULL을 반환하고, 다르면 수식1을 반환한다.

SELECT NULLIF(100, 100), NULLIF(200, 100);

=>NULL                     =>200

 

 

CASE ~ WHEN ~ ELSE ~ END

SELECT CASE 10

                   WHEN 1 THEN '일'

                   WHEN 5 THEN '오'

                   WHEN 10 THEN '십'

                   ELSE '모름'

           END AS 'CASE연습';

=> '십'

 

 

 

문자열 함수

CHAR_LENGTH(문자열)

: 글자의 갯수 확인

 

CONCAT(문자열1, 문자열2, ...)

: 문자열 이어주는 함수

 

CONCAT_WS(구분자, 문자열1, 문자열2, 문자열3...)

: 구분자를 추가해서 문자열끼리 이어줌

=> 문자열1구분자문자열2구분자문자열3

 

ELT(위치, 문자열1, 문자열2, ...)

: 위치 번째에 해당하는 문자열을 반환한다.

SELECT ELT(2, '하나', '둘', '셋)

=>둘

 

FIELD(찾을 문자열, 문자열1, 문자열2, ...)

: 찾을 문자열의 위치를 찾아서 반환한다.

FIELD('둘', '하나', '둘', '셋');

=> 2

 

FILED(찾을 문자열, 문자열1, 문자열2, ...)

: 매치되는 문자열이 없으면 0을 반환한다.

 

 

FIND_IN_SET(찾을 문자열, 문자열1, 문자열2, ...)

: 찾을 문자열을 문자열 리스트에서 찾아서 위치를 반환한다.

FIND_IN_SET('둘', '하나, 둘, 셋')

=> 2

 

INSTR(기준 문자열, 부분 문자열)

: 기준 문자열에서 부분 문자열을 찾아서 그 시작 위치를 반환한다.

INSTR('하나둘셋', '둘')

=> 3

 

LOCATE(부분 문자열, 기준 문자열)

: INSTR()와 동일하지만 파라미터의 순서가 반대로 되어있다.

LOCATE('둘', '하나둘셋')

=>3

 

INSERT(기준 문자열, 위치, 길이, 삽입할 문자열)

SELECT INSERT('abcdefghi', 3, 4, '@@@@'), INSERT('abcdefghi', 3, 2, '@@@@');

=>ab@@@@ghi                                  =>ab@@@@efghi

3번째부터 4글자를 지움                             3번째부터 2글자 지우고 골뱅이 끼워넣음

 

 

 

728x90
반응형