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

start [/forum/topic.php?fid=47&msg=39495534&tid=1830520]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 291ms |

| 0 / 0 |
