Столкнулся с тем, насколько ужасно сделан CAST в Oracle-версии #MySQL! Нельзя взять и написать CAST(что-то AS INTEGER) или CAST(что-то AS VARCHAR(32)). В первом случае нужно писать либо signed/unsigned, во втором — просто varchar. Но вариант с просто varchar без указания длины не работает в MariaDB (хотя они с MySQL считаются совместимыми почти полностью), а signed/unsigned — в других СУБД (например, Postgres). В общем непонятно, как можно взять и так всё усложнить на ровном месте.