Salida http://dev.mysql.com/doc/refman/5.0/en/set.html para la plena flaco, pero básicamente un campo como que es conocido como 'conjunto' - tiene una lista de valores posibles, que solo puede ser uno o más de esos. El valor se almacena como un número ... lo que significa que exhibitor_categories está almacenando realmente el valor 4 cuando alguien establece el valor en 'exterior', porque está configurando el tercer bit - '0100'. Cuando recuperas el valor de la base de datos más tarde, mysql automáticamente vuelve '0100' a 'exterior' para ti.
Pero, al agregar +0 a la consulta, fuerza el resultado para que permanezca un número, por lo que realmente obtendría el valor numérico '0100' si el valor de la fila fuera 'exterior' en este caso.
Disculpas por poner enum y establecer mixtos.
¿Por qué, podría preguntar, está estableciendo el valor en '0100' en lugar de simplemente decir '3', como en una enumeración? Debido a que un conjunto puede contener múltiples valores, si se seleccionaran los valores 'contemporáneo' (0001) y 'exterior' (0100), almacenaría '0101' < - configurando el primer y tercer bits, que serían devueltos como '5' si usas el código +0
+1 Buena pregunta. Me pregunto si existe un equivalente para SQL Server 200/2005. –