Tôi có một điều tra: ENUM('alpha', 'beta', 'gamma', 'delta', 'omega')
Tôi có thể so sánh các enums của MySQL không?
Nếu tôi sắp xếp bảng theo cột này, tôi sẽ đưa chúng theo thứ tự đúng được xác định ở trên.
Tuy nhiên, tôi không thể tìm cách chọn tập hợp con này, ví dụ: mọi thứ trước delta. Sử dụng WHERE status < 'delta'
chỉ trả về alpha và beta chứ không trả về gamma. Có vẻ như MySQL sử dụng một so sánh chuỗi, không so sánh chỉ số enum.
Tôi có thể sử dụng số chỉ mục - nghĩa là WHERE status < 4
- nhưng hơi có mùi mã (số ma thuật) và có thể bị hỏng nếu tôi chèn giá trị mới vào liệt kê.
Điều này nghe giống với câu hỏi của tôi. Tôi muốn thứ tự được số, mà nó làm tốt. Vấn đề của tôi là với mệnh đề WHERE. Mặc dù có lẽ có một cách để chuyển đổi trường ENUM thành một giá trị số và sử dụng nó? Không thực sự quan trọng với tôi bây giờ, tôi hỏi điều này gần một năm trước và tôi thậm chí không nhớ những gì nó đã cho ... – DisgruntledGoat