Я отлаживаю старое приложение в Delphi 5, связанное с последней версией MySql через ODBC-коннектор. При использовании функции преобразования CAST даже следующий запрос:
select cast(1 as char)
возвращает пустой столбец без имени столбца. Если я запускаю запрос непосредственно в анализатор запросов mysql, он работает нормально, поэтому я полагаю, что проблема связана с разъемом ODBC или BDE.
Попробуйте создать хранимую процедуру в базе данных для выполнения CAST и скрыть ее из ODBC.
Единственная информация, которую я могу найти, это this (внимание мое):
Соединитель/ODBC ошибочно сообщил, что он поддерживает OSTBC (CAST) и CONVERT() ODBC функции для синтаксического анализа значений в операторах SQL, что может привести к плохой генерации SQL во время запроса.
Может ли быть, что соединитель вообще не поддерживает CAST?