Если вы можете сделать это в клиенте базы данных в коде, это может быть проще.
В противном случае ошибка, вероятно, означает, что встроенная шестнадцатеричная функция не может работать с вашими значениями, как вы ожидаете. Я бы дважды проверил, что входное значение обрезается, и в первом формате это может быть так просто. Затем я бы сверился с документацией базы данных, описывающей шестнадцатеричную функцию, посмотрел, каков будет ее ожидаемый ввод, и сравнил бы это с некоторыми из ваших значений, а также выяснил, в чем разница и как изменить ваши значения, чтобы они соответствовали ожидаемому вводу. 1003 *
Простой поиск в Google по запросу "hex-функция informix" вывел первую страницу результатов с предложением: "Должно быть литеральным целым числом или каким-либо другим выражением, которое возвращает целое число". Если ваш тип данных - строка, сначала преобразуйте строку в целое число. На первый взгляд кажется, что вы что-то делаете с функцией приведения (я не уверен в этом).
select hex(cast SomeStringColumn as int)) from SomeTable