|
|
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
Staxраз сказал что ошибка, тем более грубая, что корона слетит, если обьяснит в чем грубость andrey_anonymousподойти к тимлиду и попросить детальных пояснений. И он таки пояснил. Сказал, что неявное преобразование данных приводит к неоправданному повышению нагрузки на сервер БД и кинул мне ссылку "на почитать" (см. выше). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 14:58 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
Народ, на будущее - в столбце RECEIPT хранятся только строки, составленные из символов: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' Никаких других символов там нет, не было и не будет. Прошу рассматривать эту задачу именно в рамках этих условий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:01 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
PL SQL Новичокнеявное преобразование данных приводит к неоправданному повышению нагрузки на сервер БДНеявное преобразование не дороже явного. Он неадекват. Экономит на спичках, когда дом горит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:09 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
ElicНеявное преобразование не дороже явного.Спасибо, именно это я также хотел уточнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:21 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
То что автор видит там только числа, не говорит о том, что в дальнейшем это не станет действительно строками. Не знаю, что там в голове у архитектора, но, возможно, закладывались на применение каких-нибудь префиксов или постфиксов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:22 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:22 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
Что за тимлид такой, что сам и сразу не поясняет своих мыслей? И почему бы сразу у него не попросить пояснений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:29 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
K790автор видит там только числа, не говорит о том, что в дальнейшем это не станет действительно строкамину вот опять ... но даже если вдруг там появятся "нечисловые" строки (а этого не может быть, иначе нарушится бизнес-логика), то у меня на этот случай предусмотрен блок Exception, и в этом случае процедура выдаст return_code > 0, что соответствует ошибке. Успокойтесь уже с этими "нечисловыми" строками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:29 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
ElicОн неадекват. Экономит на спичках, когда дом горит.+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:29 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
PL SQL Новичокно даже если вдруг там появятся "нечисловые" строкикакого хрена тогда хранить числа как строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:30 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
xtenderЧто за тимлид такой, что сам и сразу не поясняет своих мыслей? И почему бы сразу у него не попросить пояснений?Ну я и спросил, почти что сразу и получил пояснения, которые, однако, меня не удовлетворили, что и побудило меня обратиться на форум профессионалов-ораклоидов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:31 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
xtenderкакого хрена тогда хранить числа как строки?Это вопрос к архитектору БД. Я тоже вот этим обстоятельством как раз недоволен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:32 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
PL SQL НовичокStaxраз сказал что ошибка, тем более грубая, что корона слетит, если обьяснит в чем грубость andrey_anonymousподойти к тимлиду и попросить детальных пояснений. И он таки пояснил. Сказал, что неявное преобразование данных приводит к неоправданному повышению нагрузки на сервер БД и кинул мне ссылку "на почитать" (см. выше). Повышение нагрузки потенциально возможно при наличии индекса по полю RECEIPT, и тут уже важно как ети цифирки хранятся в поле, выровненные по правому/левому полю, дополненные нулями, как null хранится (встречал что как пробел) и тд ps імхо, надо приставать к лидеру, пусть расказывает, или дает права ... ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:33 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousА на будущее можно дать рекомендацию, которая справедлива в большинстве случаев: тип данных в таблице - первичен. По возможности избегайте применения функций вообще и преобразований типа в частности к полям таблицы в кляузе where - вместо этого преобразуйте параметры. Иногда так архитекторы настроят, что без преобразования тяжеловато напр числовые коды в строке выровненные влево ('10','7','72','3','100') и выбрать из диапазона с по ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:38 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
xtenderкакого хрена тогда хранить числа как строки? Никто не говорил, что там именно числа. Так считает топикстартер. У вас например БИК банка (это всегда цифры и только цифры) - это число или строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:42 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
j2kБИК банка (это всегда цифры и только цифры)Зарекаться от IBAN, как минимум, неразумно. А пока рекомендую строку с check-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:48 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
xtenderPL SQL Новичокно даже если вдруг там появятся "нечисловые" строкикакого хрена тогда хранить числа как строки? Саян, не строки это. Идентификаторы. ИМХО ТС несколько горяч - это пройдет с опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:50 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
j2kНикто не говорил, что там именно числа там именно числа. Такова постановка задачи, а вовсе не потому, что я так посчитал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:50 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
Staxandrey_anonymousА на будущее можно дать рекомендацию, которая справедлива в большинстве случаев: тип данных в таблице - первичен. По возможности избегайте применения функций вообще и преобразований типа в частности к полям таблицы в кляузе where - вместо этого преобразуйте параметры. Иногда так архитекторы настроят, что без преобразования тяжеловато напр числовые коды в строке выровненные влево ('10','7','72','3','100') и выбрать из диапазона с по В телекоме коды ABC/DEF именно таковы. Я на них в свое время "собаку съел", решая задачу эффективной привязки зоны к номеру по наиболее полному соответствию. Виталий, кстати, подсказал одно из весьма эффективных решений - для одиночных поисков (для массовых операций есть способы более эффективные, хотя и довольно сложные технически). Но к преобразованию цифровых кодов в числа для решения задач поиска не прибегал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 16:00 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
xtenderPL SQL Новичокно даже если вдруг там появятся "нечисловые" строкикакого хрена тогда хранить числа как строки?Может архитектор задумывал как внешний номер. Может его пишут от руки на салфетке и не всегда можно разобрать, где рыбу заворачивали. Я бы в таком случае заложил блоб для хранения картинки идентификатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 18:18 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
Архе те, кто р...xtenderпропущено... какого хрена тогда хранить числа как строки?Может архитектор задумывал как внешний номер. Может его пишут от руки на салфетке и не всегда можно разобрать, где рыбу заворачивали. Я бы в таком случае заложил блоб для хранения картинки идентификатора. картинки мало - нужно видео не менее 30 минут с размышлениями создателя, почему именно такой идентификатор был выбран для данного случая. я так и не понял, почему до сих пор не выяснили, А1 и А2 - это числа или нет? ))) и мы так и не услышали мнение начальника транспортного цеха сурового тимлида, бьющего линейкой по пальцам за "грубые" ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 18:23 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
PL SQL Новичок, Нормальная практика. В больших, масштабируемых системах всегда закладываются на возможность изменения бизнес правил. Число это - часный случай строки. Архитектор запроектировал, а какие данные туда упали числа или строки ему не известно. А если кто-то по строкам делает "between", то кто ему доктор :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 03:52 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousВ телекоме коды ABC/DEF именно таковы. Я на них в свое время "собаку съел", решая задачу эффективной привязки зоны к номеру по наиболее полному соответствию.кстати, да, очень интересная и полезная задачка. Я уже тут видел похожие топики и даже что-то решал, но сейчас что-то не осилил поиском найти твои... Может отдельный топик создашь про нее со своими решениями? Туда и другие варианты накидаем :) я тут минут 10 подумал и такое наваял: исходные таблички Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. мое решение Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 04:52 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 05:28 |
|
||
|
Число хранится как текст. Как написать выборку с использованием between?
|
|||
|---|---|---|---|
|
#18+
xtenderно сейчас что-то не осилил поиском найти твоиElicSTFF Как можно выбрать максимум подходящую строку из таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 07:36 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39537673&tid=1885079]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 535ms |

| 0 / 0 |
