Интересно, почему вы делаете это на уровне базы данных, а не на уровне представления ...
Если вы действительно, действительно хотите сделать это с MySQL, вы можете создать две таблицы поиска, называемые, например. «единицы» и «десятки», которые хранят английское представление, а затем выполняют запрос для каждой цифры. Извлеките цифры, приведя число к строке и выполнив итерацию в обратном порядке от десятичной точки, а затем выполнив поиск в соответствующей таблице. Возможно, третья таблица могла бы использоваться для предоставления строк типа «Сто», «Тысяча» и т. Д.
Это самое простое решение, которое я вижу, но писать будет больно и, вероятно, довольно хрупко, когда дело доходит до интернационализации. Кроме того, он загромождает схему поисковыми таблицами, которые не имеют никакого отношения к вашим данным.
Может быть, написание пользовательской функции (UDF) было бы лучшим решением, хотя я думаю, что это все еще будет довольно трудоемким.