Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.07.2017, 18:52
|
|||
|---|---|---|---|
Мнемоника для ФИО |
|||
|
#18+
Здравствуйте коллеги! Возник вопрос. Как сделать из строки в одном поле Фамилия Имя Отчество строку вида ФАМИЛИЯ_ИО средствами sql? Есть решение если ФИО в разных полях, но у меня все в одном поле. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2017, 18:58
|
|||
|---|---|---|---|
Мнемоника для ФИО |
|||
|
#18+
Есть решение, но оно для MSSQL. Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.07.2017, 12:32
|
|||
|---|---|---|---|
Мнемоника для ФИО |
|||
|
#18+
АсланалиКак сделать из строки в одном поле Фамилия Имя Отчество строку вида ФАМИЛИЯ_ИО средствами sql? Есть решение если ФИО в разных полях, но у меня все в одном поле. Прежде всего, нужно осознать, что это -- нарушение 1-ой нормальной формы, и тебе нужно устранить эту аномалию в твоей БД, т.е. разделить это одно поле на три. Чем раньше это сделаешь, тем будет лучше. Решение твоей проблемы в исходном виде тоже есть, на regexp, на substring, но оно не будет работать на 100% всегда, а будет зависеть от формата данных в поле с ФИО. Соответственно, тебе либо нужно будет этот формат всё время проверять, либо смиряться с тем, что Фамилия ИО не будут вычисляться всегда правильно. Там будет три выражения, 0) берущее подстроку до первого пробела 1) берущее подстроку за первым пробелом и до следующего 2) берущее подстроку за вторым пробелом и до конца всей строки Сделать это можно либо путём поиска подстроки в строке и выделения соотв. подстроки, либо можно одним регвыражением распарсить всё и взять три нужные подгруппы (я бы сделал именно так). Код: plaintext Все нужные функции в MySQL есть и их можно найти в документации. Если говорить ещё на более высшем уровне, то прежде всего нужно понимать, что эта формула полного имени -- Фамилия, имя, отчество -- далеко не универсальная, и, в принципе, её не нужно так уж продвигать. А нужно иметь просто две формы полного имени (два поля) -- полную Код: plaintext Код: plaintext или Код: plaintext Код: plaintext Но вообще это зависит от предметной области БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1830520]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 135ms |

| 0 / 0 |
