Как вывести enum / string при выборе из столбца int в MySQL - PullRequest
2 голосов
/ 03 декабря 2010

Я использую представление, чтобы сделать большинство моих отчетов для данных на MySQL. В одной из таблиц я хотел бы относиться к определенному столбцу как ENUM при выборе данных, но в настоящее время это int.

Я знал, что для этого можно использовать внутреннее соединение, но я оставлю это как последний вариант.

Есть ли способ построить представление или запрос на выборку, чтобы я мог отсортировать int в enum и получить строковый вывод вместо int? Что-то вроде

SELECT CONVERT(int_column, ENUM('A', 'B', 'C')) FROM table;

Мне нужно сохранить этот столбец как int, для изменения столбца на enum потребуется слишком много изменений на уровне приложения, и это необходимо только для одного конкретного отчета, поэтому должно быть в порядке. Перечисление будет иметь только 11 значений.

Если приведение невозможно, то может ли третичный оператор или встроенный оператор работать в select?

Спасибо

1 Ответ

7 голосов
/ 03 декабря 2010

Используйте функцию ELT ()

   SELECT ELT(int_column, 'A', 'B', 'C') FROM table;

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_elt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...