В нашей БД есть столбец имен, и я пытаюсь выбрать первое и последнее использование, но данные используют либо | или пространственных разделителей. Прямо сейчас наш код работает для имен пространства, но мне нужно, чтобы он разделился на один.mysql найти несколько разделителей
table.name
первый последний
first2 | last2
select substr(upper(mid(vo.name, 1, locate(' ',vo.name)-1)),1,20) as 'First Name',
substr(upper(mid(vo.name, locate(' ',vo.name)+1, 100)),1,20) as 'Last Name'
from table vo
Есть ли способ, чтобы искать любой из них?
Прежде всего, пытаясь беспокоиться о имени и фамилии, это немного бесполезное упражнение. Я со временем обнаружил, что существует так много разных вариантов имен, которые я обычно предоставляю только для одного поля имени и позволяю людям вводить данные в свободную форму. При этом, если вы настаиваете на соглашении о первом/последнем имени, почему бы вам не сначала пройти и дезинформировать свои данные в один формат, а затем начать принудительное вложение данных только в этом формате? –
У меня нет контроля над фактической фиксацией проблемы, т.е. дезинфекции данных и обеспечения правильного ввода данных. Я должен доставить эти данные поставщику в первом последнем формате. Поверь мне, это был бы не мой первый выбор. – jasonrfisher