Не портите свои данные.
Сохраните три отдельных поля: фамилия, имя, отцовские инициалы.
Затем скопируйте вывод:
select concat( last_name, ' ', paternal_initials, ' ', first_name) as displayed_name
from table
order by last_name, paternal_initials, first_name;
Обновление:
Я хочу упростить добавление информации и использовать одно поле ввода. - Норберт
Но люди так не думают: фамилия, инициалы родителей, имя.
Они будут склонны думать о двух отдельных сущностях: студент с именем и имя отца студента.
Если ваши пользователи находятся в культуре, где фамилии идут последними, вы могли бы иметь поле Student's Name
и поле Father's Name
, и предполагать, что последним словом в каждом является фамилия. Конечно, это не работает, если за фамилиями следуют суффиксы, такие как «Jr», «Senior» или «3rd», и для испаноязычных стран, которые следуют фамилией с фамилией матери.
Самым безопасным, конечно, являются отдельные, однозначные поля. Дополнительные «затраты» для пользователя на необходимость перехода на другое поле могут фактически быть меньше, чем когнитивные «затраты» на то, чтобы выяснить, как использовать неоднозначное поле.