음머어's 까망별

블로그 이미지
무지 인간의 첫 걸음..
by 까망별 음머어
  • 287,445Total hit
  • 51Today hit
  • 139Yesterday hit

'MySQL Interval'에 해당되는 글 1건

  1. 2008.11.17
    [MySQL] INTERVAL


데이터에 이름을 붙일 때, 우리는 가급적 편하고 읽기 쉬운 작명법을 선호한다.
하지만, MySQL에는 수 많은 예약어들이 존재하고,
그로 인해 작명할 때, 갖가지 장소에서 발생하는 에러들에 직면하는 사태를 맞게 된다.

그 중 오늘 나에게 걸린 녀석은 interval 이란 녀석이다.

[HELP INTERVAL]
*************************************************************************************
mysql> help interval
Name: 'INTERVAL'
Description:
Syntax:
INTERVAL(N,N1,N2,N3,...)

Returns 0 if N < N1, 1 if N < N2 and so on or -1 if N is NULL. All
arguments are treated as integers. It is required that N1 < N2 < N3 <
... < Nn for this function to work correctly. This is because a binary
search is used (very fast).

URL: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

Examples:
mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200);
        -> 3
mysql> SELECT INTERVAL(10, 1, 10, 100, 1000);
        -> 2
mysql> SELECT INTERVAL(22, 23, 30, 44, 200);
        -> 0
*************************************************************************************

[INTERVAL 설명]
위 설명에서 볼 수 있듯이,
INTERVAL은 여러 개의 나열된 수 중에서
자신이 원하는 수가 몇 번째에 위치하는 지에 대해 말해준다.


요즘 아주 드물게 예제까지 써 주는 센스도 보인다. 므흣~

[INTERVAL 사용방법]
SELECT INTERVAL(위치확인이 요구 되는 값, 기점1, 기점2, ........);

그럼 위와 같이 어느 사이에 있는 지 말해준다.
기점1 보다 작을 경우는 0,
기점1과 기점2 사이의 값일 경우 1,
........
등으로 결과가 나온다.

또한, 위의 예시가 정수만 있다고 해서 착각하면 안 될 것은
실수의 경우에도 적용가능 하다는 것!!!


가령,
SELECT INTERVAL( 3.2, 3, 3.1, 3.3, 4);
-> 2
와 같은 결과가 나온다.

[INTERVAL의 예약어 사용제약]
대개의 예약어의 경우는 MySQL 에서 어느 정도 알아서 인식하여,
단어가 예약어인지, 필드명인지 등을 결정해 주지만,

이 녀석만은 `` 로 감싸 주지 않으면,
인식되지 않는 것으로 경험상 결론이 났다.

그러므로, 이녀석을 필드명으로 사용하고자 한다면,
모든 쿼리 작성시 ``로 싸주던가,
아니면, INTERVAL1 등과 같이 다른 이름을 사용하는 것이 옳겠다 하겠다.








저작자 표시 비영리
신고
TRACKBACK 2 AND COMMENT 0

ARTICLE CATEGORY

모든 이야기 (77)
독백 (22)
MySQL (25)
Oracle (7)
영화 (6)
Linux (3)
DW(Data Warehouse) (0)
(7)
음악 (1)
Python (3)
Postgresql (2)

ARCHIVE