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 문서에서 확인할 수 있다.

이 글은 https://www.haruair.com/blog/1079 에서 옮겨온 글입니다.
© 2011-2019 Edward Kim Some Rights Reserved.?