|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Если через запятую перечислены строки одинаковой длины, то все в порядке, а если разной, то получается ерунда. Не могу понять, где я налажал. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 16:37 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Antonariy, а чем не устраивает по старинке через xml? Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:03 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Тем, что это не единственная строка, а набор записей. id строка1 11111;22;333;2 345;567;5643; ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:18 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Соответственно на выходе должно быть idperiod1 111112213332345256725643 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:20 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Antonariy, лучше использовать не CTE, а таблицу целых чисел. Например: Функция, которая делит строку на слова В той теме и ещё варианты есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:23 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
AntonariyСоответственно на выходе должно быть idperiod1 111112213332345256725643 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:30 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
iap, Чем лучше, шустрее? И что-то не догоняю, как прикрутить ParseString к select id, str2parse from tbl1 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:31 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Antonariy, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:34 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
felix_ff, Спасибо, но мучают меня сомнения насчет производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:35 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Antonariyfelix_ff, Спасибо, но мучают меня сомнения насчет производительности. где то на форуме, была тема про парсинг строки поищите, там даже invm или churupaha по-моему замеры производил различных методов, xml довольно шустро бегает. ну если хотите можете поизвращаться с stuff/substring но геммора много. в любом случае вам для получения необходимого результата будет необходим некий метод дающий результирующую таблицу которую потом вы кроме как apply не примапите ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:38 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Через табличную функцию, у меня в таком виде хранятся права доступа к вкладкам самописной системы, знаю криво, но переписывать в нормальные вид приложение не особо хочется (( Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Теперь результат: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:41 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
AntonariyСпасибо, но мучают меня сомнения насчет производительности. 15097121 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:41 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
ALTER на CREATE сами замените, что то я упустил этот момент ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:42 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
invmAntonariyСпасибо, но мучают меня сомнения насчет производительности. 15097121 Внезапно выходит, что вариант с xml самый шустрый, а мой практически самый тормозной :) Спасибо за науку. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 17:52 |
|
Разбить строку на записи через CTE
|
|||
---|---|---|---|
#18+
Antonariy, вариант с CTE Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 14:06 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1696837]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 136ms |
0 / 0 |