Mega Code Archive

 
Categories / MySQL Tutorial / Data Types
 

If you retrieve an ENUM value in a numeric context, the column values index is returned

SELECT enum_col+0  FROM tbl_name; mysql> mysql> CREATE TABLE employee (     ->     grp ENUM('A','B','C') NOT NULL,     ->     id MEDIUMINT NOT NULL AUTO_INCREMENT,     ->     name CHAR(30) NOT NULL,     ->     PRIMARY KEY (grp,id)     -> ); Query OK, 0 rows affected (0.02 sec) mysql> mysql> INSERT INTO employee (grp,name) VALUES ('A','A1'),     ->                                        ('B','B1'),     ->                                        ('C','C1'),     ->                                        ('A','A2'),     ->                                        ('B','B2'),     ->                                        ('C','C2'); Query OK, 6 rows affected (0.00 sec) Records: 6  Duplicates: 0  Warnings: 0 mysql> mysql> SELECT * FROM employee ORDER BY grp,id; +-----+----+------+ | grp | id | name | +-----+----+------+ | A   |  1 | A1   | | A   |  2 | A2   | | B   |  1 | B1   | | B   |  2 | B2   | | C   |  1 | C1   | | C   |  2 | C2   | +-----+----+------+ 6 rows in set (0.00 sec) mysql> mysql> select grp+0 from employee; +-------+ | grp+0 | +-------+ |     1 | |     2 | |     3 | +-------+ 6 rows in set (0.00 sec) mysql> mysql> drop table employee; Query OK, 0 rows affected (0.00 sec) mysql>