티스토리 뷰

반응형

 

비교연산
- 비교연산의 결과값은 1(TRUE), 0(FALSE), 또는 NULL 을 반환한다. 비교연산은 숫자와 문자열 모두에서 가능하다. 필요에 따라 자동적으로 숫자로 또는 문자열로 변환된다.
- 두개의 인자 모두가 NULL 일 경우 연산의 결과값은 NULL 이 된다.
- 두개의 인자 모두가 문자열이면 문자열로 비교된다.
- 두개의 인자 모두가 숫자이면 숫자로서 비교된다.
- 16진수는 숫자와 연산하지 않을 경우 바이너리로 처리된다.
- 다른 대부분의 경우 연산은 floating-point 로 된다.
- 기본적으로, 문자열 비교는 대소문자구분을 하지 않는다.
예 : select * from tbl_a where (a > 0) and (b <= 1);

- expr BETWEEN min AND max
- 예 : select 2 BETWEEN 2 AND '3';

- expr IN (value,...)
- 예 : select 'wefwf' IN (0,3,5,'wefwf');

- expr NOT IN (value,...)

- ISNULL(expr) : NULL 일 경우만 1(TRUE) 를 반환한다.
- 예 : select ISNULL(1+1);

- COALESCE(list) : NULL 이 아닌 첫번째 인자를 반환한다.
- 예 : select COALESCE(2, ',한글', NULL, 1);

- expr [NOT] REGEXP pat : 쿼리에서 정규표현식을 사용할수 있다. 사용할수 있다. 이것에 대해서는 나중에 설명한다.

- expr RLIKE pat : REGEXP 와 같다.

- STRCMP(expr1,expr2) : 두개의 문자열이 동일할경우 0, 첫번째 문자열이 정렬에서 상위일경우 -1, 그렇지 않으면 1을 반환한다.

= 같다 값 = 4
> 보다크다 값 > 60
< 보다작다 값 < 60
>= 크거나 같다 값 >= 60
<= 작거나 같다 값 <= 60
!= 혹은 <> 같지 않다 값 != 0
IS NOT NULL NULL을 가지지 않는다.
IS NULL NULL 이다.
BETWEEN 0에서 60 사이의 값
IN 어느 집합에 있는가
NOT IN 어느 집합에 있지 않은가
NOT IN LIKE 패턴대응 name like("값%")
NOT LIKE 패턴대응 name not like("값%")
REGEXP 정규표현 name regexp


사칙연산
- 예 : select (((3 + 2) * 4) / (2 - 1));
- 주의 : 0 으로 나눌경우 NULL 반환한다. 연산은 BIGINT 의 결과값을 가지게 되므로 BIGINT 의 범위를 벗어나게 되면 잘못된 값을 반환한다.


비트연산
- | : 비트연산 OR 의 연산자이다.
- 예 : select 29 | 15;

- & : 비트연산 AND 의 연산자이다.
- 예 : select 29 & 15;

- << : 비트연산 OR 의 연산자이다.
- 예 : select 1 << 2;

- >> : 비트연산 OR 의 연산자이다.
- 예 : select 4 >> 2;

- BIT_COUNT(N) : 해당 값의 비트수를 반환한다.
- 예 : select BIT_COUNT(29);

- 주의 : 연산은 BIGINT 의 결과값을 가지게 되므로 BIGINT 의 범위를 벗어나게 되면 잘못된 값을 반환한다.


논리연산
- 주의 : 모든 논리연산은 1(TRUE) 또는 0(FALSE) 을 반환한다. 논리연산자는 우선순위가 높기 때문에 순서에 조심해야한다.
- 예 : select ! 1+1; 이 문장은 select (! 1) + 1; 으로 연산된다.

- ! : 논리연산 NOT 의 연산자이다. 0 이외의 모든 값은 TRUE 의 의미이다. 따라서 NOT 0 만이 1을 반환한다. 예외적으로 NOT NULL 은 NULL 을 반환한다.
- 예 : select ! (100);
select ! (1+1);
select ! 1+1;

- || : 논리연산 OR 의 연산자이다. 두개의 인자가 모두 0 또는 NULL 일 경우만 0 을 반환하고, 이외에는 1을 반환한다.
- 예 : select 1 || 0;
select 0 || 0;
select 100 || NULL;

- && : 논리연산 AND 의 연산자이다. 두개의 인자중 하나라도 0 또는 NULL 이 있을 경우 0 을 반환한다.
- 예 : select 1 && NULL;

 

반응형
댓글