무료 동영상 강의 https://youtu.be/YgxEtxasLH8

문자의 크기 비교


데이터를 구성하는 가장 기본적인 데이터 자료형은 문자 또는 숫자다. 여기에 하나를 더 추가하면 날짜 형식의 자료형이 있다. 이외에도 다양한 자료형이 있지만, 기본적으로 이 세 개의 자료형이 많이 사용된다. 데이터를 시행착오 없이 잘 활용하기 위해서는 데이터 자료형에 따른 크기 비교에 대한 이해가 필요하다.

숫자의 크기 비교는 매우 간단하다. 1보다 2가 크고, 2보다는 10이 크다. 숫자 값 자체에 크기가 있기 때문에 쉽게 비교할 수 있다.

날짜의 크기 비교는 어떨까? SQL이나 프로그램을 다루어봤다면 , '2024년 5월 2일'이 '2024년 5월 1일'보다 크다라는 것을 알고 있을 것이다. 그러나 가만히 생각해 보면 날짜에 크기라는 것이 있을까? 두 날짜 모두 24시간이라는 똑같은 시간의 양을 가진 하루다. 다만, 프로그램에서는 날짜의 순서를 따져 크기를 결정한다. 보통은 순서상 앞쪽의 날짜가 작은 값, 뒤쪽의 날짜가 큰 값이 된다. 그러므로 '2024년 5월 2일'이 '2024년 5월 1일'보다 큰 값이 된다.

이처럼 프로그램 세계에서는 숫자가 아닌 형태의 데이터는 일정한 기준의 순서를 적용해 크기를 결정한다. (프로그램뿐만 아니라 데이터베이스도 마찬가지다.) 문자의 크기 비교 역시 마찬가지다. 일정한 기준으로 순서를 정해 크기 비교가 이루어진다.

문자의 경우는 일반적으로 알파벳 순서나 가나다 순서에 따라 크기가 결정된다. B는 A보다 크고, C는 B보다 큰 값이 된다. A부터 Z까지 중에는 A가 가장 작은 값, Z가 가장 큰 값이다.

문자열 크기 비교

문자가 두 개 이상 합쳐진 것을 문자열이라고 한다. 'CAFE'는 C, A, F, E라는 문자 네 개가 합쳐진 하나의 문자열이다. 문자열을 구성하는 요소가 문자이므로 문자열의 크기 비교도 문자의 규칙을 따른다. 다만, 문자열은 문자열 전체가 아닌 각 문자열의 앞 문자부터 차례대로 크기 비교를 수행한다. 아래의 예를 살펴보자.

이처럼 문자열의 크기 비교는 가장 앞 문자부터 차례대로 크기 비교가 이루어진다. 컴퓨터 프로그램에 익숙하지 않은 사람들에게는 낯설게 느껴질 수 있는 부분이다.

문자와 문자열의 크기 비교 개념을 이해했다면 다음 SQL을 실행해보자. ItemId(상품ID)에 문자열로 크기 비교 조건을 넣었고, 그에 맞는 데이터가 어떻게 나오는지 한번씩 확인해보기 바란다.

-- [SQL-3-5-1]
-- ItemId가 B보다 작거나 같은 데이터 조회
SELECT  ItemId ,ItemNm ,ItemCat, HotColdCd
FROM    startdb.Item
WHERE   ItemId <= 'B';

ItemId  ItemNm        ItemCat  HotColdCd  
------  ------------  -------  ---------  
AMB     Americano(B)  COF      HOT        
AMR     Americano(R)  COF      HOT        

-- [SQL-3-5-2]
-- ItemId가 BZ보다 작거나 같은 데이터 조회
SELECT  ItemId ,ItemNm ,ItemCat, HotColdCd
FROM    startdb.Item
WHERE   ItemId <= 'BZ';

ItemId  ItemNm               ItemCat  HotColdCd  
------  -------------------  -------  ---------  
AMB     Americano(B)         COF      HOT        
AMR     Americano(R)         COF      HOT        
BGLR    Bagel(R)             BKR      HOT        
BMFR    Blueberry Muffin(R)  BKR      COLD