|
|
|
Количество символов в строке | ☑ | ||
|---|---|---|---|---|
|
0
first_may
22.01.10
✎
13:51
|
Добрый день!
Подскажите пожалуйста, можно ли запросом в консоли получить количество символов в строке? |
|||
|
1
EasyRider
22.01.10
✎
13:53
|
СтрДлина("мояСтрока")
|
|||
|
2
first_may
22.01.10
✎
13:56
|
По-моему в запросе нет такой функции. Мне надо выполнить что вроде этого:
ВЫБРАТЬ СтрДлина(Тест.Комментарий) ИЗ Документ.Тест КАК Тест что бы потом я мог узнать максимальную длинну поля Комментарий. |
|||
|
3
FIXXXL
22.01.10
✎
13:56
|
(1) в запросе?
|
|||
|
4
first_may
22.01.10
✎
13:57
|
хотелось бы :)
|
|||
|
5
Живой Ископаемый
22.01.10
✎
14:02
|
Максимум для строковых полей не работает? (в самом деле не знаю)
|
|||
|
6
EasyRider
22.01.10
✎
14:02
|
(3)В запросе?В запросе никак.
|
|||
|
7
73
22.01.10
✎
14:05
|
(5) Максимум работает, только это не решит (0).
|
|||
|
8
first_may
22.01.10
✎
14:05
|
Максимум для строковых полей не работает - я знаю, поэтому и хотелось бы получить сначало количество...
В запросе никак - только перебором записей? |
|||
|
9
Живой Ископаемый
22.01.10
✎
14:12
|
2(7) а сортировка по убаванию в подзапросе и потом взятие из него 1-й записи?
|
|||
|
10
Живой Ископаемый
22.01.10
✎
14:13
|
Это правда тоже перебор, но только одной записи.. хе-хе.. :)
|
|||
|
11
Ненавижу 1С
гуру
22.01.10
✎
14:13
|
(9) максимальный это не самый длинный
|
|||
|
12
also
22.01.10
✎
14:13
|
(9) как отсортируется "ааббвв" и "яяэээээээээ" ?
|
|||
|
13
Kom-off
22.01.10
✎
14:14
|
Если не нужна точная максимальная длина строки комментария, а приблизительная, то можно сгородить огород из ВЫБОР КОГДА.. и ПОДСТРОКА(). Разбить все пространство длин комментария на строки и выстроить конструкцию типа ВЫБОР КОГДА ПОДСТРОКА("1234", 1, 3) > "1234" ТОГДА 3 ИНАЧЕ 0 КОНЕЦ и таким образом получить примерную максимальную длину комментария.
|
|||
|
14
also
22.01.10
✎
14:14
|
+(12) блин наоборот пример хотле привести :)
|
|||
|
15
also
22.01.10
✎
14:14
|
в общем (11) прав
|
|||
|
16
first_may
22.01.10
✎
14:22
|
получается что надо писать обработку по перебору записей...
|
|||
|
17
also
22.01.10
✎
14:25
|
(16) а записей несколько миллионов?
|
|||
|
18
first_may
22.01.10
✎
14:28
|
нет
|
|||
|
19
МихаилМ
22.01.10
✎
14:28
|
можно.
заполните таблицу ранжирования и объдиняете с ней соответственно индексом ранга будет интервал началького и конечного значения а рангом - длина. Как извесно, эффективного индекса субд для интервана нет. Но возможно для даного случая интервал можно заменить более удачным индексом ранга. соответственно начало ранга |
|||
|
20
also
22.01.10
✎
14:30
|
(18) ну и не парься...
...... МаксимальныйКоммент = 0; Пока Выборка.Следующий() Цикл Если СтрДлина(Выборка.Комментарий) > МаксимальныйКоммент Тогда МаксимальныйКоммент = СтрДлина(Выборка.Комментарий); |
|||
|
21
73
22.01.10
✎
14:51
|
(18) Не знаю, может это быстрее, чем полный перебор....
ДлинаРеквизита = 100; Запрос = Новый Запрос(" |Выбрать Первые 1 Ссылка Из Документ.ВозвратнаяНакладная |Где Примечание Подобно &Шаблон |"); Шаблон = "[^ ]"; Для й = 1 По ДлинаРеквизита-1 Цикл Шаблон = "_" + Шаблон; КонецЦикла; й = ДлинаРеквизита; Пока й > 0 Цикл Запрос.УстановитьПараметр("Шаблон", Шаблон); Результат = Запрос.Выполнить(); Если не Результат.Пустой() Тогда Прервать; КонецЕсли; й = й - 1; Шаблон = Прав(Шаблон, й); КонецЦикла; Сообщить("Макс Примечание = " + й); |
|||
|
22
73
22.01.10
✎
14:53
|
(21)+
чуть не так... Вот так вроде надо: Шаблон = Прав(Шаблон, й+4); |
|||
|
23
73
22.01.10
✎
14:57
|
(22)+ Неее... й+3
|
|||
|
24
first_may
22.01.10
✎
15:07
|
спасибо всем :)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |