|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Добрый день. Помогите пожалуйста с запросом. В поле хранятся улицы, состоящие как из одного слова так из нескольких. И мне нужно оставлять лишь самое длинное слово если в названии улицы несколько слов. Разделитель слов в основном ПРОБЕЛ или ТОЧКА На входе: Сосновая 8 Марта им.Павлика Морозова им.Пушкина Пифагора 8-й Лучевой 4-ый Северный переулок героя Леонова имени Аксакова им Аксакова На выходе: Сосновая Марта Морозова Пушкина Пифагора Лучевой Северный Леонова Аксакова Аксакова ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 19:36 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Ольга Семенова, Покажите что Вы пытались сделать, и что у Вас не получилось Сделайте по крайней мере тестовые данные памятка: HOWTO :: Как правильно задавать вопросы Как мне оформить свое сообщение? Студентам, желающим помощи 1) Полная постановка задачи (без сокращений) 2) Подготовьте тестовые данные, лучше в виде with например (не ваш случай): Код: plsql 1. 2. 3. 4. 5. 6.
3) Покажите что сделали, что получили, без сокращений. ( лучше не в виде screenshot) 4) используйте Тэги, читать код без них неудобно, правильно оформляйте сообщение ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 20:13 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Говноалгоритм обидит жителей 1-го южного переулка. И не только... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 20:18 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Vadim Lejnin, пример тестовых данных я дала Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
думала сделать через сочетание REGEX_REPLACE как-нибудь ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 20:30 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Elic Говноалгоритм обидит жителей 1-го южного переулка. И не только... согласна. Не всегда самое длинное слово в строке адреса является ключевым Но я исхожу из наиболее вероятностного алгоритма, т.к. качество исходных данных не позволяет по полной минимизировать расхождения ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 20:34 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Ольга Семенова, Очень тупо ( не разработчик я, да и температура) Код: plsql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 21:24 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Vadim Lejnin Очень тупо ( не разработчик я ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2021, 22:43 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Ольга Семенова Но я исхожу из наиболее вероятностного алгоритма , т.к. качество исходных данных не позволяет по полной минимизировать расхождения В любом случае, так или иначе, должна быть очистка данных и более строгий и ясный алгоритм. Соответственно, его надо выносить в нормальную "сопровождабельную" функцию. извращение just4fun Код: plsql 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.
можно было сделать монстра и для большей макс.длины слова, но лень заворачивать... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2021, 02:42 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Vadim Lejnin , Sayan Malakshinov , спасибо огромное. Классно с регуляркой вышло. Буду тестировать ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2021, 08:43 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Sayan Malakshinov , а как ваш алгоритм через регулярку доработать до длины слова в 20 символов ? думала по аналогии сделать Код: plsql 1. 2. 3. 4. 5.
но получается ерунда ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2021, 09:31 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Ольга Семенова Sayan Malakshinov , а как ваш алгоритм через регулярку доработать до длины слова в 20 символов ? ... но получается ерунда ((( зы. А принципиально авторreplace_string can be of any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. If replace_string is a CLOB or NCLOB, then Oracle truncates replace_string to 32K. The replace_string can contain up to 500 backreferences to subexpressions in the form \n, where n is a number from 1 to 9 . так что подход тот же самый, только поочередно + вложенно обрабатывать по 9 штук: Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2021, 13:05 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Чёт тоже решил заморочиться Код: plsql 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.
RNSTREET1Сосновая2Марта3Морозова4Пушкина5Пифагора6Лучевой7Северный8переулок9Леонова10Аксакова11Аксакова1212345678913123456789 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 15:01 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Ольга Семенова думала сделать через сочетание REGEX_REPLACE как-нибудь Код: plsql 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. 58. 59. 60. 61. 62. 63. 64.
Но как правильно заметил Elic "Говноалгоритм обидит жителей 1-го южного переулка. И не только..." SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 17:05 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
qlost , SY , спасибо вам!!! Работает шустро. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 15:35 |
|
Выборка самого длинного слова из поля
|
|||
---|---|---|---|
#18+
Ольга Семенова qlost , SY , спасибо вам!!! Работает шустро. XML решение куда проще чем у qlost: Код: plsql 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.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 16:31 |
|
|
start [/forum/topic.php?fid=52&fpage=25&tid=1880408]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 255ms |
total: | 387ms |
0 / 0 |