С точки зрения MS SQL смущает использование функции SUBSTR... В MS SQL это приводит к очень серьезной деградации производительности, как в Оракле не знаю.
В Оракле тоже, но это - by design и связано с тем, что до некоторых пор базы данных Oracle всегда были регистрозависимыми, а работать с регистронезависимым оракловыми collation'ами ядро AX 2009 специально отучили.