|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
Есть таблица: id string 1 2,4:2,9 2 4:6 3 3:5 4 1,4:4,8 Необходимо выбрать все строки, где число X входит в диапазон, записанный через двоеточие. Помогите, пожалуйста, в SQL почти не шарю... Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2017, 12:38 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
Спроси того, кто эту кривую таблицу проектировал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2017, 14:55 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
Klax, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2017, 16:12 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
Павел Лузанов, спасибо!.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 11:02 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
можно развить идею, вдруг даст хороший результат на большом количестве: сделать индекс на диапазонный тип numrange, к которому преобразовать split_part(t.string,':',1) и split_part(t.string,':',2)::numeric+0.01 где 0.01 это минимальное число в вашей системе счисления, и необходимо прибавить что бы правый крайний входил в диапазон тоже и поиск в запросе делать на вхождение 3 в диапазон=) либо делать два индекса на split_part(t.string,':',1) и split_part(t.string,':',2) для текущего решения, но как по ним будет, не знаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 11:21 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
Legushkaгде 0.01 это минимальное число в вашей системе счисления, и необходимо прибавить что бы правый крайний входил в диапазон тоже Ммм, а зачем? range типы же умеют штатно включать хвосты диапазона. Конструируется в виде '[2.4,2.9]'::numrange строковым литералом или numrange(2.4, 2.9, '[]') в виде вызова функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 12:00 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
В текущем проекте делаем товары со свойствами. И там будут такие свойства как цвет, размер, длина, глубина и т.д. В некоторых свойствах возможны диапазоны. Поэтому и хранить его решили пока в одной строке, разделив "от" и "до" двоеточием. Ну и в фильтре тоже будет диапазон. Т.е. к примеру выбрать все товары, где длина от 3" до 7"... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 12:04 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
KlaxВ текущем проекте делаем товары со свойствами. И там будут такие свойства как цвет, размер, длина, глубина и т.д. В некоторых свойствах возможны диапазоны. Поэтому и хранить его решили пока в одной строке, разделив "от" и "до" двоеточием. Ну и в фильтре тоже будет диапазон. Т.е. к примеру выбрать все товары, где длина от 3" до 7"... а почему range типы не устраивают ? почему всё внавал, но при этом не hstore с гибким содержимым ? ну и т.п. (hstore(...,range,...) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 12:08 |
|
числа до двоеточия и после в строке...
|
|||
---|---|---|---|
#18+
Соответственно будет поиск по наложению отрезков. Это я уже нашел и реализовал... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 12:14 |
|
|
start [/forum/topic.php?fid=53&msg=39411485&tid=1996689]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 363ms |
total: | 507ms |
0 / 0 |