mysql의 enum 타입을 where절에서 사용하기

animal enum('코끼리','사자','호랑이','기린')

위와 같은 enum 필드가 있다고 하자.

SELECT animal from tbl where animal < '호랑이'

이러면 코끼리, 사자가 출력될 것 같지만 코끼리, 사자, 기린이 출력된다. enum이 각각의 index값을 순서대로 가지는 것은 맞지만 string으로 처리되기 때문에 비교연산자 처리 결과가 이렇게 나온다.

만약 코끼리, 사자의 결과를 가지고 싶다면 아래와 같이 index 값으로 처리해준다.

SELECT animal from tbl where animal < 4

index값이 궁금하다면 아래와 같이 확인할 수 있다. (물론 순서대로지만)

SELECT animal+0, animal FROM tbl

자세한 내용은 MySQL의 enum 문서에서 확인할 수 있다.

김용균

안녕하세요, 김용균입니다. 문제를 해결하기 위해 작고 단단한 코드를 작성하는 일을 합니다. 웹의 자유로운 접근성을 좋아합니다. 프로그래밍 언어, 소프트웨어 아키텍처, 커뮤니티에 관심이 많습니다.

이 글 공유하기

이 글이 유익했다면 주변에도 알려주세요!

페이스북으로 공유하기트위터로 공유하기링크드인으로 공유하기Email 보내기

주제별 목록

같은 주제의 다른 글을 읽어보고 싶다면 아래 링크를 확인하세요.

January 20, 2012

PHP: SQL to Mongo Mapping Chart – Manual

PHP: SQL to Mongo Mapping Chart – Manual . SQL을 mongoDB에서 어떻게 사용하는지 보여준다. 깔끔하게 정리되어 있어 좋다.

January 19, 2012

Adobe Digital Editions

http://www.adobe.com/kr/products/digitaleditions/ epub viewer를 찾다가 나온 프로그램인데 좋네요. Adobe AIR 기반이고 pdf와 epub을 깔끔하게 볼 수 있는 뷰어입니다.