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][|]')