
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.10.2014, 11:34:52
|
|||
|---|---|---|---|
|
|||
Преобразование строки в набор цифр |
|||
|
#18+
Помогите, пожалуйста, с запросом типа: Код: sql 1. Поле "ocr_phone" типа tinytext может содержать строки вида: '8-8652-72-85-17, ( 8652 )72-85-17 , 7-8652-72-85-17 ' '72-85-17' '8-962-445-87-82 , ( 962 ) 758-74-85' и т.п., т.е. распознанные номера телефонов в разном формате. А параметр :p всегда строка вида '9624458782' или '728517', т.е. номер телефона в виде одних цифр, сотовые без +7/8, городские - без кода. Как выбрать id записей поле "ocr_phone" которых содержит параметр? PS подозреваю, что поможет оператор REGEXP, но не знаю как его применить в данном случае... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2014, 13:56:33
|
|||
|---|---|---|---|
Преобразование строки в набор цифр |
|||
|
#18+
Используя пакет Replace-ов (или пользовательскую функцию), удаляешь из ocr_phone все разделители, кроме запятой, а потом тупо INSTR(). Но правильнее - нормализовать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2014, 15:29:58
|
|||
|---|---|---|---|
|
|||
Преобразование строки в набор цифр |
|||
|
#18+
Пока решил так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Если не касаться вопроса нормализации, это корректное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2014, 15:41:29
|
|||
|---|---|---|---|
Преобразование строки в набор цифр |
|||
|
#18+
LiYing, 1) Вместо char используйте varchar. Да и лимит длины можно взять побольше. 2) Запятые вы тоже уничтожите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2014, 15:48:44
|
|||
|---|---|---|---|
|
|||
Преобразование строки в набор цифр |
|||
|
#18+
miksoft, 1) Замена CHAR на VARCHAR ускорит выполнение функции? Макс.длина поля "ocr_phone" типа tinytext=255. 2) Запятые в плане задачи не важны, главное - факт нахождения подстроки, передаваемой в параметре, в строке поля "ocr_phone". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2014, 15:53:59
|
|||
|---|---|---|---|
Преобразование строки в набор цифр |
|||
|
#18+
LiYing, 1) Скорее всего - да. 2) Тогда вы рискуете в качестве подстроки найти хвост одного номера и начало следующего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1834134]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 307ms |

| 0 / 0 |
