|
Выбрать подстроку по шаблону в запросе. | ☑ | ||
---|---|---|---|---|
0
farion5
11.07.16
✎
20:34
|
Есть ли способ выбрать из строки оформленной по шаблону КонтрагентНаименование#НомерДоговора#ДатаДоговора выбрать НомерДоговора и ДатаДоговора в запросе?
Например: "ООО" Вектор#в3-п001#26.05.2016 00:00:00 получить в3-п001 и 26.05.2016 00:00:00 |
|||
1
hhhh
11.07.16
✎
21:03
|
(0) нет такого способа
|
|||
2
jsmith
11.07.16
✎
21:04
|
Есть
ВЫБРАТЬ "_" КАК Симв, 1 КАК КолСимв ПОМЕСТИТЬ тзКоличествоСимволов9 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "__", 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "___", 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "____", 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "_____", 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "______", 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "_______", 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "________", 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "_________", 9 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "", 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Лев.Симв + тзКоличествоСимволов9_Прав.Симв КАК Симв, тзКоличествоСимволов9_Лев.КолСимв * 10 + тзКоличествоСимволов9_Прав.КолСимв КАК КолСимв ПОМЕСТИТЬ тзКоличествоСимволов100 ИЗ тзКоличествоСимволов9 КАК тзКоличествоСимволов9_Лев, тзКоличествоСимволов9 КАК тзКоличествоСимволов9_Прав ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Различные Контрагенты.Ссылка, Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+2, КоличествоСимволовДоЗакрытия.КолСимв-КоличествоСимволовДоОткрытия.КолСимв-1) как строка(100)) КАК НомерДоговора, Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоЗакрытия.КолСимв+2, ДлинаСтроки.КолСимв-КоличествоСимволовДоЗакрытия.КолСимв+2) как строка(100)) КАК ДатаДоговора ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоОткрытия ПО (Контрагенты.Наименование ПОДОБНО КоличествоСимволовДоОткрытия.Симв + "#%") ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоЗакрытия ПО (Контрагенты.Наименование ПОДОБНО КоличествоСимволовДоЗакрытия.Симв + "#%") ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК ДлинаСтроки ПО (Контрагенты.Наименование ПОДОБНО ДлинаСтроки.Симв) ГДЕ Контрагенты.Наименование ПОДОБНО "%#%#%" И НЕ Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+2, КоличествоСимволовДоЗакрытия.КолСимв-КоличествоСимволовДоОткрытия.КолСимв-1) как строка(100)) = "" И НЕ Выразить(ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоЗакрытия.КолСимв+2, ДлинаСтроки.КолСимв-КоличествоСимволовДоЗакрытия.КолСимв+2) как строка(100)) = "" |
|||
3
hhhh
11.07.16
✎
21:31
|
может как-то так
ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоОткрытия ПО ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+1, 1) = ""#"" а то подобно - очень тормозная штука |
|||
4
jsmith
11.07.16
✎
21:36
|
А ты прав.
ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоОткрытия ПО ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоОткрытия.КолСимв+1, 1) = "#" ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК КоличествоСимволовДоЗакрытия ПО ПОДСТРОКА(Контрагенты.Наименование, КоличествоСимволовДоЗакрытия.КолСимв+1, 1) = "#" ЛЕВОЕ СОЕДИНЕНИЕ тзКоличествоСимволов100 КАК ДлинаСтроки ПО (Контрагенты.Наименование ПОДОБНО ДлинаСтроки.Симв) |
|||
5
Tateossian
11.07.16
✎
21:51
|
(3) То есть, быстрее будет итеративно в цикле парсить текст?
|
|||
6
youalex
11.07.16
✎
21:55
|
(0) изначально какая задача стоит?
|
|||
7
Fram
11.07.16
✎
21:56
|
(5) по крайней начать лучше с этого, а там уже по смотреть устраивает не устривает скорость
|
|||
8
Fram
11.07.16
✎
21:56
|
*по крайней мере
|
|||
9
Tateossian
11.07.16
✎
21:59
|
(8) Мне кажется, надо всегда стремиться к самому оптимальному варианту, а то вырастает один эсник тупым и ленивым, мыслящим "И так сойдет", а потом везде будет сквозить эта концепция. Априори конечно скорость устроит.
|
|||
10
jsmith
11.07.16
✎
22:02
|
По чесноку надо в цикле обрабатывать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |