일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 새우편번호
- 호스팅
- 클릭해제
- 웹퍼블리싱
- 마우스 오른쪽 버튼
- 무료
- 무료 호스팅
- 홈페이지제작
- 우체국 우편번호
- 웹호스팅
- php
- 무료 웹 호스팅
- 무료제작
- 퍼빌리셔
- 무료서버
- 무료 홈페이지 제작
- 무료사이트
- php호스팅
- 자바스크립트
- 문자열 뒤집기
- 우편번호 API
- 자바키워드
- 무료홈페이지
- postcodify
- 웹퍼블리셔
- 무료호스팅
- 무료 홈페이지
- 마우스오른쪽
- 글자뒤집기
- 복사방지
Archives
- Today
- Total
Developer Factory
select 문의 비교 연산자 본문
select 문의 비교 연산자
두 숫자 또는 두 문자를 비교하여 TRUE(1), FALSE(0), NULL로 그 결과를 출력한다. 비교할 둘 중의 한쪽이 다를 경우, 다른 한쪽을 숫자나 문자로 자동으로 변환하여 비교한다. NULL을 포함하는 비교의 결과는 NULL이 출력되고, 문자, 정수 등 모든 비교는 실수(real)로 취급하며, TIMESTAMP나 DATETIME와 상수가 비교될 때는 상수가 먼저 TIMESTAMP로 바뀐 후에 비교 된다.
NULL이란 a missing unknown value를 의미하며, 경우에 따라서는 특별히 취급해야한다. NULL을 이해하기 위해서 비교연산자(=, <, < >)를 사용해 보기로 하자.
좀 어렵기 때문에 이제 IS NULL과 IS NOT NULL연산자를 사용하면 이해가 좀 될 것이다. 결과가 0 또는 NULL이면 이는 false이고 그렇지 않으면 true를 의미하기 때문이다. 그러므로 때로는 NULL이 not having a value를 의미하기도 한다.
= : 같다. 【예제】 mysql> SELECT 1=0, '0'=0, '0.0'=0, '0.01'=0, '.01'=0.01; +-----+-------+---------+----------+------------+ | 1=0 | '0'=0 | '0.0'=0 | '0.01'=0 | '.01'=0.01 | +-----+-------+---------+----------+------------+ | 0 | 1 | 1 | 0 | 1 | +-----+-------+---------+----------+------------+
<> 또는 != : 같지 않다. 【예제】 mysql> SELECT '.01' <> '0.01', .01 <> '0.01', 'zapp' <> 'zappp'; +-----------------+---------------+-------------------+ | '.01' <> '0.01' | .01 <> '0.01' | 'zapp' <> 'zappp' | +-----------------+---------------+-------------------+ | 1 | 0 | 1 | +-----------------+---------------+-------------------+
<= : 이하 【예제】 mysql> SELECT 0.1 <= 2; +----------+ | 0.1 <= 2 | +----------+ | 1 | +----------+
< : 미만 【예제】 mysql> SELECT 2 < 2; +-------+ | 2 < 2 | +-------+ | 0 | +-------+
>= : 이상 【예제】 mysql> SELECT 2 >= 2; +--------+ | 2 >= 2 | +--------+ | 1 | +--------+
> : 보다 큰 【예제】 mysql> SELECT 2 > 2; +-------+ | 2 > 2 | +-------+ | 0 | +-------+
<=> : Null-safe equal 【예제】 mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL; +---------+---------------+------------+ | 1 <=> 1 | NULL <=> NULL | 1 <=> NULL | +---------+---------------+------------+ | 1 | 1 | 0 | +---------+---------------+------------+ mysql> select 3 <=> 3, null <=> null, 'a' <=> 'a', 5 <=> null; +---------+---------------+-------------+------------+ | 3 <=> 3 | null <=> null | 'a' <=> 'a' | 5 <=> null | +---------+---------------+-------------+------------+ | 1 | 1 | 1 | 0 | +---------+---------------+-------------+------------+ 1 row in set (0.00 sec) mysql>
IS NULL : NULL이다. 【예제】 mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL; +-----------+-----------+--------------+ | 1 IS NULL | 0 IS NULL | NULL IS NULL | +-----------+-----------+--------------+ | 0 | 0 | 1 | +-----------+-----------+--------------+
IS NOT NULL : NULL이 아니다. 【예제】 mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL; +---------------+---------------+------------------+ | 1 IS NOT NULL | 0 IS NOT NULL | NULL IS NOT NULL | +---------------+---------------+------------------+ | 1 | 1 | 0 | +---------------+---------------+------------------+ mysql> select 1 = null, 1 <> NULL, 1 < NULL, 1 > NULL; +----------+-----------+----------+----------+ | 1 = null | 1 <> NULL | 1 < NULL | 1 > NULL | +----------+-----------+----------+----------+ | NULL | NULL | NULL | NULL | +----------+-----------+----------+----------+ 1 row in set (0.00 sec) mysql> select 1 is null, 1 is not null; +-----------+---------------+ | 1 is null | 1 is not null | +-----------+---------------+ | 0 | 1 | +-----------+---------------+ 1 row in set (0.00 sec) mysql> select 0 is null, 0 is not null, '' is null, '' is not null; +-----------+---------------+------------+----------------+ | 0 is null | 0 is not null | '' is null | '' is not null | +-----------+---------------+------------+----------------+ | 0 | 1 | 0 | 1 | +-----------+---------------+------------+----------------+ 1 row in set (0.00 sec)
expr BETWEEN min AND max : expr이 min과 max 사이 값이다. 【예제】 mysql> SELECT 1 BETWEEN 2 AND 3, 'b' BETWEEN 'a' AND 'c'; +-------------------+-------------------------+ | 1 BETWEEN 2 AND 3 | 'b' BETWEEN 'a' AND 'c' | +-------------------+-------------------------+ | 0 | 1 | +-------------------+-------------------------+
expr NOT BETWEEN min AND max : expr이 min과 max 사이의 값이 아니다. 【예제】 mysql> select 2 not between 3 and 6; +-----------------------+ | 2 not between 3 and 6 | +-----------------------+ | 1 | +-----------------------+ 1 row in set (0.00 sec) mysql> select 4 not between 3 and 6; +-----------------------+ | 4 not between 3 and 6 | +-----------------------+ | 0 | +-----------------------+ 1 row in set (0.00 sec) mysql>
expr IN (value, ...) : expr이 value 값중의 하나에 속하는 경우 【예제】 mysql> SELECT 2 IN (0,3,5,'wefwf'), 'wefwf' IN (0,3,5,'wefwf'); +----------------------+----------------------------+ | 2 IN (0,3,5,'wefwf') | 'wefwf' IN (0,3,5,'wefwf') | +----------------------+----------------------------+ | 0 | 1 | +----------------------+----------------------------+
expr NOT IN (value, ...) : expr이 value 값중의 하나에 속하지 않는 경우 【예제】 mysql> SELECT 2 NOT IN (0,3,5,'joe'); +------------------------+ | 2 NOT IN (0,3,5,'joe') | +------------------------+ | 1 | +------------------------+
ISNULL(expr) : expr이 NULL이면 true임 【예제】 mysql> SELECT ISNULL(1+1), ISNULL(1/0); +-------------+-------------+ | ISNULL(1+1) | ISNULL(1/0) | +-------------+-------------+ | 0 | 1 | +-------------+-------------+
COALESCE(list) : list중에서 NULL이 아닌 첫 번째 것을 출력 【예제】 mysql> SELECT COALESCE(NULL,3,2), COALESCE(NULL,NULL,NULL); +--------------------+--------------------------+ | COALESCE(NULL,3,2) | COALESCE(NULL,NULL,NULL) | +--------------------+--------------------------+ | 3 | NULL | +--------------------+--------------------------+
INTERVAL(N,N1,N2,N3,...) : N1 < N2 < N3,...인 조건에서 N이 N1과N2, N2와N3등
【예제】 mysql> SELECT INTERVAL(23,1,15,17,30,44),INTERVAL(10,1,10,100); +----------------------------+-----------------------+ | INTERVAL(23,1,15,17,30,44) | INTERVAL(10,1,10,100) | +----------------------------+-----------------------+ | 3 | 2 | +----------------------------+-----------------------+ mysql> SELECT INTERVAL(22,23,30,44,200); +---------------------------+ | INTERVAL(22,23,30,44,200) | +---------------------------+ | 0 | +---------------------------+
select와 where절에 쓰이는 함수
'Developer > DBMS' 카테고리의 다른 글
모델링 (0) | 2014.06.23 |
---|---|
스프링과 DB 연동 한글 깨짐 (맵북에서 한글 연동 안될때...) (0) | 2014.06.23 |
MySQL 에서 IF문 사용하기 (0) | 2014.06.18 |
Mysql - Insert 내부 쿼리 사용 방법 (0) | 2014.06.17 |
exerd 데이터베이스 모델링 (0) | 2014.06.17 |