MaXComp
@MaXComp
интересуюсь frontend html+css+JS+php. Linux, C

Возможно ли организовать поиск по началу каждой фразы?

В одной ячейке Фамилия Имя Отчество. С помощью like нужно сделать выборку по началу набора каждой фразы (слову). Если сделать только по началу строки, тогда нельзя будет найти человека по имени.. Но вот если набрать "я", - вывод получается и "фамилиЯ" и "имЯ" - что есть мусор в поиске...
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
Хранить ФИО в таком формате: [X]Фамилия[X]Имя[X]Отчество, где [X] - некий спец. символ, например пробел. Ну или любой другой, главное избежать конфликтов с этим символом, чтобы он не участвовал в образовании самого текста ФИО.

Это позволит делать LIKE '[X]'+'substring' - что будет отрабатывать по началу имени, фамилии или отчеству(substring - подстрока поиска).

P.S. возможно стоит и посмотреть в сторону нормализации и разбить ФИО - все зависит от того как в системе вопринимается сущность. Если это не атомарное значение в концепции Вашей системы, если Вам нужно хранить большие объемы ФИО с историей изменения, например, то здесь Имя, Фамилия и Отчество это отдельные свойства сущности.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
В одной ячейке Фамилия Имя Отчество
Разделите на три поля.
И почитать: habrahabr
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы