|
Распарсить строку
|
|||
---|---|---|---|
#18+
Добрый день Помогите пожалуйста распарсить строку такого типа: Код: plaintext
И каждый элемент записать как отдельную запись. В строке разное количество элементов Сейчас запрос возвращает ID; PRODUCT_IDS 15; {i:0;i:3947;i:1;i:4343;i:2;i:4345;i:3;i:4644;i:4;i:4627;} Нужно получить ID; PRODUCT_IDS 15; 3947 15; 4343 15; 4345 15; 4644 15; 4627 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 15:25 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
Убрать обрамляющие скобки, финишную точку с запятой, 'i:', а остаток STRING_SPLIT-нуть... например. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 15:30 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
jango77, версия сервера у вас какая? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 15:30 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
jango77, STRING_SPLIT ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 16:03 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
если порядок не задается нечетными элементами то так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 16:10 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
felix_ff jango77, версия сервера у вас какая? Код: sql 1.
Microsoft SQL Server 2017 (RTM-GDR) (KB4505224) - 14.0.2027.2 (X64) Jun 15 2019 00:26:19 Copyright (C) 2017 (64-bit) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 16:19 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
felix_ff если порядок не задается нечетными элементами то так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Это сериализованный массив интов пехапешным сериализатором. Нечетные элементы это индексы массива в виде тип:значение, четные -- значения вида тип:значение для интов, а в случае строк значение будет так s:3:"bfg" ЗЫ: И вообще полная строка должна выглядеть вот так a:5:{i:0;i:3947;i:1;i:4343;i:2;i:4345;i:3;i:4644;i:4;i:4627;} ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 16:54 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
Karbafos felix_ff если порядок не задается нечетными элементами то так ЗЫ: И вообще полная строка должна выглядеть вот так a:5:{i:0;i:3947;i:1;i:4343;i:2;i:4345;i:3;i:4644;i:4;i:4627;} так и есть. От a:5: удалось избавиться ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 17:03 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
felix_ff если порядок не задается нечетными элементами то так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Подскажите, пожалуйста, как этот синтаксис увязать с тем, что нужно распарсить со строки эти PRODUCT_IDS для каждого ID, чтобы селектом получить ID; PRODUCT_IDS 15; 3947 15; 4343 15; 4345 15; 4644 15; 4627 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 17:31 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
jango77, парсеры хорошо пишутся на C# в виде табличных CLR функций. Поищите в инете. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 17:47 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
jango77, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 17:56 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
Владислав Колосов jango77, парсеры хорошо пишутся на C# в виде табличных CLR функций. Поищите в инете. Хотелось бы решить всю задачу через T-SQL (пишем импорт с базы битрикса) чтобы вести разработку через одну точку администрирования импортов Спасибо за предложенный вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 18:02 |
|
Распарсить строку
|
|||
---|---|---|---|
#18+
Shakill jango77, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Shakill , Спасибо Вам! Работает так как нужно по задаче ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 18:08 |
|
|
start [/forum/topic.php?fid=46&fpage=77&tid=1686794]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 144ms |
0 / 0 |