Имя: Пароль:
1C
1С v8
Запрос, не использующий таблицы, насколько сильно загружает СУБД (MS SQL)
0 timgan
 
22.03.16
17:06
|ВЫБРАТЬ
| ВЫБОР
|   КОГДА &Число1<&Число2
|     ТОГДА Истина
|   ИНАЧЕ Ложь
|КОНЕЦ КАК Результат

есть потребность сделать данный запрос в цикле
1 igork1966
 
22.03.16
17:07
А зачем запрос тогда?
2 ДенисЧ
 
22.03.16
17:07
Загрузит в основном сеть и проц. Диски не станут нагружаться.
Только смысла в этом нет
3 timgan
 
22.03.16
17:10
(1) Сравнение двух чисел с динамически изменяемым знаком (<,<= и т.п.)
4 igork1966
 
22.03.16
17:12
(3) Что заставляет делать это на SQL-сервере. Это же охренеть какие накладные расходы.
5 timgan
 
22.03.16
17:14
(2) Т.е. можно сказать что на СУБД минимальная нагрузка, так как таблицы (записи) не блокируются, нагрузка только по-сути на железо сервера?
6 igork1966
 
22.03.16
17:14
(5) Нафига микроскопом орехи колешь?
7 timgan
 
22.03.16
17:17
(4) (6) Поэтому и спрашиваю совета. Можно, конечно, написать через условия Если Тогда на каждый знак сравнения или у тебя есть другие варианты?
8 igork1966
 
22.03.16
17:17
(7) Вычислить
9 igork1966
 
22.03.16
17:18
(8) + значительно дешевле
10 igork1966
 
22.03.16
17:19
(8) + если будет быстрее
11 timgan
 
22.03.16
17:19
Результат = Вычислить("10000<20000")?
12 igork1966
 
22.03.16
17:21
Число1 = 10000;
Число2 = 20000;
Рез = Вычислить("Число1<Число2")?
13 timgan
 
22.03.16
17:21
(11) на сколько мне известно невозможно
14 timgan
 
22.03.16
17:21
(12) да
15 Dmitrii
 
гуру
22.03.16
17:23
(12) А зачем такие извращения?
Почему нельзя

Результат = Число1 < Число2;
16 igork1966
 
22.03.16
17:23
(13) что невозможно?
17 ДенисЧ
 
22.03.16
17:24
(15) Потому что у этого извращенца может быть и <=, и >, и >=, и <>
Не любит он СКД, куда деться...
18 igork1966
 
22.03.16
17:26
(15) Это ты автора спроси. Он вообще над SQL издевается для вычисления логического выражения...
19 timgan
 
22.03.16
17:34
(18) Спасибо, igork1966.
Конструкция рабочая:

    Число1 = 10000;
    Число2 = 20000;
    Рез = Вычислить("Число1" + "<" + "Число2");
20 timgan
 
22.03.16
17:37
(17) На СКД пишу большую часть отчетов (хочется думать, что качественно).
21 timgan
 
22.03.16
17:38
Dmitrii, ДенисЧ спасибо за советы и критику.
22 sapphire
 
22.03.16
17:39
(20) Что ж тогда мучаешь всех?
Вычислить (Eval)
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция используется для совместимости с предыдущими версиями платформы. Вместо неё рекомендуется использовать функцию ВычислитьВыражение.

Синтаксис:

Вычислить(Выражение, Группировка, ТипРасчета)

Параметры:

Выражение. Тип Строка. Содержит вычисляемое выражение;
Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.

ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.
23 kiruha
 
22.03.16
18:17
Вычислить - очень тормознутое
Выкорчевывал сие творение
Самое быстрое обычноая функция или если есть желание извращаться - визуал бейсик скрипт