|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Здравствуйте, ни как не могу сообразить, в базе есть таблица, у нее одно поле FIO. Мне нужно разбить его на 3 (F I O). Как можно это сделать? До пробелов считать? Можете написать, как через select (например) в таблице students в поле FIO получить AS F, AS I, AS O.... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 20:26 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
RphoenixКак можно это сделать? В общем случае - никак. "Фарш невозможно прокрутить назад." Дай по голове тому, кто сделал такую БД и посади делить одно поле на три ручками. Чтоб запомнил как делать не надо. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 21:02 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Rphoenix, хм... Интересно взглянуть на алгоритм, способный правильно разобрать, к примеру, фот такое ФИО: Пабло Диего Хозе Франциско де Паула Хуан Непомукено Криспин Криспиано де ла Сантисима Тринидад Руиз и Пикассо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 21:28 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
RphoenixМожете написать, как через select (например) в таблице students в поле FIO получить AS F, AS I, AS O....Если простейший случай через пробелы (и они всегда есть) - теоретически можно обойтись substring и position. Но это - вряд ли. Как минимум придется execute block и анализировать данные лучше. P.S. Лучше добавить в таблицу 3 поля и провести это операцию один раз. На будущее. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 22:57 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
YuRock, У меня при получении данных из старой БД была эта проблема, но нюансы были только с товарищами с юга, у которых либо вообще не было отчества, либо оно было сложносочиненное. Но как-то разгреб. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 10:00 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Rphoenix, берешь где-нибудь справочник имен и фамилий, загоняешь его в свою БД и на его основе парсишь свои данные. А то что останется (опечатки, экзотические имена и т.п.) придется разгребать вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 10:09 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
У меня есть знакомый, Александр Петрович Кузьмич (беларус). У них много таких фамилий. И разгребать, где фамилия, где отчество, придётся вручную. Даже без сложносочинённых ничего не выйдет - FIO может оказаться IOF ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 10:17 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Rphoenix, как я решал подобную задачу 1 Проход. Те у кого в ФИО есть 2 слова. Заполняем из них Имя Фамилию 2 Проход Те у кого 3 слова - Заполняем три поля - ФИО 3 Проход Если слов 4 и больше то все лишние слова в имя (чаще всего двойные фамилии через дефис) и далее ручной контроль. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 10:40 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Rphoenix, 1) Если совсем прижмёт, можно найти UDF-библиотеку RFunc, или что то из ее более современных клонов, и воспользоваться ее функциями WordCount(), WordNum() и т.д. 1) Если версия сервера >= 3, можно переписать эти функции на SQL в виде SDF, там всего то в каждой будет по десятку строк, я что то такое делал. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 10:42 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Rphoenix, если данные ровные, то можно по-простому: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 11:23 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
dvim1 Проход. Те у кого в ФИО есть 2 слова. Заполняем из них Имя ФамилиюА почему не Фамилию Имя? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 12:31 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
WildSerydvim1 Проход. Те у кого в ФИО есть 2 слова. Заполняем из них Имя ФамилиюА почему не Фамилию Имя? Я тоже задумался. Две записи: Александр Невский Невский Александр И где в них фамилия? А Владимирович - это отчество или фамилия? - Рюрикович я... - Это в смысле из нотариальной конторы "РюрикОвич и сыновья?" rdb_devRphoenix, хм... Интересно взглянуть на алгоритм, способный правильно разобрать, к примеру, фот такое ФИО: Пабло Диего Хозе Франциско де Паула Хуан Непомукено Криспин Криспиано де ла Сантисима Тринидад Руиз и Пикассо Вообще-то это даже для Испании патологическая редкость. У них есть такой обычай - когда родится мальчик, набрать ведро кипятку и не глядя выплеснуть в окно. Что с улицы крикнут, так мальчика и назовут. Поэтому у них все Хулио и Педры. Такшта лучший совет Dimitry SibiryakovДай по голове тому, кто сделал такую БД и посади делить одно поле на три ручками. Чтоб запомнил как делать не надо. А ещё кажется мне, что это топорное задание для лабораторки :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 18:03 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Иногда приходится и с чужими БД работать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 12:27 |
|
Из одного поля FIO получить три
|
|||
---|---|---|---|
#18+
Тоже довелось столкнуться с такой траблой. Разбил разово программой, намотал на ус, что хранить ФИО надо по отдельности. Автоматом разбивал, кстати, только поля из трех составляющих, все нестандартные прогонял вручную (всякие Пхан Чунги). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 17:18 |
|
|
start [/forum/topic.php?fid=40&msg=39853844&tid=1560559]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
129ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 247ms |
0 / 0 |