티스토리 뷰

반응형

 

타입변환 함수
- BINARY : 일반적인 문자열은 대소문자를 구분하지 않고 조건을 검색하지만 BINARY 를 사용할시 이진연산을 하기때문에 대소문자 검색을 해야할 경우 편리하다.
- 예 : SELECT BINARY "a" = "A";

 

- CAST() : 함수는 인수로 전달받은 값을 명시된 타입으로 변환하여 반환합니다. 이때 변환하고자 하는 타입을 AS 절을 이용하여 직접 명시할 수 있습니다.

- 사용가능 타입 : BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, JSON (MySQL 5.7.8부터 제공됨), NCHAR, SIGNED [INTEGER], UNSIGNED [INTEGER]

- 예 : SELECT CAST(expr AS type)

 

- CONVERT() : CAST() 함수처럼 인수로 전달받은 값을 명시된 타입으로 변환하여 반환합니다. CONVERT() 함수는 두 번째 인수로 변환하고자 하는 타입을 직접 전달할 수 있습니다.

- 예 : SELECT CONVERT('abc' USING utf8);

 

 

컨트롤 함수
- IFNULL(expr1,expr2) : expr1 이 NULL 이 아니면 expr1 을 반환하고 그렇지 않을 경우 expr2 를 반환한다. 문자열, 숫자 모두 사용가능하다.

- 예 : SELECT IFNULL(1/0,10);


- IF(expr1,expr2,expr3) : 만약 expr1 이 1(TRUE) 이면 expr2 를, 그렇지 않으면 expr3 을 반환한다.
- 예 : SELECT IF(1>2,2,3);
SELECT IF(strcmp('test','test1'),'yes','no');


- CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
- 예 : SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;
SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;

 

반응형
댓글