SQL 내장 함수
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글자 지우고 골뱅이 끼워넣음