Я предполагаю, основываясь на вашем описании действительных значений и контексте вашего вопроса, что значения, которые вы пытаетесь проверить, выглядят примерно как CX727
или QF1566
или BA1
и т. Д. (Т.е. коды обозначения полета IATA),В этом случае эта функция выдаст вам нужные результаты:
CREATE FUNCTION validate_of_number(testnumber VARCHAR(7))
RETURNS INT
DETERMINISTIC
RETURN testnumber REGEXP '^[[:alnum:]]{2}[[:alpha:]]?[[:digit:]]{1,4}$';
Примеры:
SELECT validate_of_number('A1B4352')
, validate_of_number('QF12')
, validate_of_number('CX727')
, validate_of_number('AB14352')
, validate_of_number('BA1')
, validate_of_number('1C42')
Вывод
1, 1, 1, 0, 1, 1
Демонстрация на dbfiddle
С точки зрения использования его с вашей таблицей вы можете использовать запрос типа
SELECT * FROM flightexecution WHERE validate_of_number(FlightNo)