Por que você está usando
| no padrão? Por que o + ? SELECT * FROM table WHERE (data REGEXP '\|49213[A-Z]\|')
Se você quiser vários:
SELECT * FROM table WHERE (data REGEXP '\|49213[A-Z]+\|')
ou:
SELECT * FROM table WHERE (data REGEXP '[|]49213[A-Z][|]')