Учитывая данные, которые вы представили, вы можете использовать регулярное выражение для анализа вашего адреса электронной почты, а затем сравнить имя пользователя USER_NAME с именем пользователя в электронном письме:
WITH cteData(USER_NAME, EMAIL_ADDRESS) AS
(SELECT 'username1', 'username1@abc.com' FROM DUAL UNION ALL
SELECT 'username2', 'username2@abc.com' FROM DUAL UNION ALL
SELECT 'usernameX', 'username3@xyz.com' FROM DUAL UNION ALL
SELECT 'username4', 'username4@abc.com' FROM DUAL),
cteEmails AS
(SELECT um.USER_NAME,
REGEXP_SUBSTR(um.EMAIL_ADDRESS, '[^@.]+', 1, 1) AS EMAIL_USER_NAME,
REGEXP_SUBSTR(um.EMAIL_ADDRESS, '[^@.]+', 1, 2) AS EMAIL_COMPANY,
REGEXP_SUBSTR(um.EMAIL_ADDRESS, '[^@.]+', 1, 3) AS EMAIL_DOMAIN
FROM cteData um)
SELECT *
FROM cteEmails
WHERE USER_NAME <> EMAIL_USER_NAME
, которое возвращает
USER_NAME EMAIL_USER_NAME EMAIL_COMPANY EMAIL_DOMAIN
usernameX username3 xyz com
при запуске.
db <> скрипка здесь