W odpowiedzi na twoje pytanie "czy naprawdę tak MySQL zaimplementował regexp?" odpowiedź brzmi tak. Po prostu zwraca wartość logiczną w przypadku sukcesu lub niepowodzenia dopasowania.
W odpowiedzi na twoje pytanie, "dlaczego mieliby się golić odchylone od przepisanej normy", odpowiedź jest taka, że w zapytaniach bardziej przydatne jest zwracanie wartości logicznych, ponieważ częściej testujesz na obecność czegoś, a nie coś wyodrębniasz, na podstawie na wzór. Wyodrębnianie rzeczy odbywa się częściej przy użyciu języków proceduralnych, a nie relacyjnych baz danych.
Aby zrobić to, co chcesz, możesz napisać procedurę składowaną, która wykonuje niezbędną manipulację ciągami.