[527x518]
Исходное сообщение Рейган: сося, а у тебя на работе знают, что тебя с предыдущей работы поперли за "слишком много ошибок"??? гыгыгы.
Исходное сообщение prog1c: ХАХАХА!!!
"Гений 1с" ...
Вычисление функции ПОДСТРОКА() на SQL сервере
В клиент-серверном варианте работы функция ПОДСТРОКА() реализуется при помощи функции SUBSTRING()
соответствующего оператора SQL, передаваемого серверу баз данных SQL Server, который вычисляет тип
результата функции SUBSTRING() по сложным правилам в зависимости от типа и значений ее параметров,
а так же в зависимости от контекста, в котором она используется.
В большинстве случаев эти правила не оказывают влияния на выполнение запроса 1С:Предприятия,
однако есть случаи, когда для исполнения запроса существенна максимальная длина строки результата,
вычисленная SQL Server. Важно иметь в виду, что в некоторых контекстах использования функции
ПОДСТРОКА() максимальная длина ее результата может оказаться равной максимальной длине
строки ограниченной длины, которая в SQL Server равна 4000 символам. Это может привести к
неожиданному аварийному завершению выполнения запроса.
Например, запрос:
ВЫБРАТЬ
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
УПОРЯДОЧИТЬ ПО
Представление,
Представление1
завершается аварийно с сообщением:
Ошибка СУБД:
Microsoft OLE DB Provider for SQL Server: Warning: The query processor could not produce a query plan
from the optimizer because the total length of all the columns in the GROUP BY or ORDER BY clause
exceeds 8000 bytes.
HRESULT=80040E14, SQLSTATE=42000, native=8618
Это происходит потому, что вычисленная Microsoft SQL Server максимальная длина строки, которая является
результатом выражения:
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
равна 4000 символов. Поэтому длина записи, состоящей из двух таких полей превышает 8000 байт,
разрешенные для выполнения операции сортировки.
В связи с описанной особенностью исполнения функции SUBSTRING() на SQL Server использование функции
ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины не рекомендуется.
Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ(). В частности, приведенный пример
можно переписать в виде:
ВЫБРАТЬ
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ВЫРАЗИТЬ(Представление КАК Строка(200))
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ВЫРАЗИТЬ(Представление КАК Строка(200))
ИНАЧЕ NULL
КОНЕЦ КАК Представление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
УПОРЯДОЧИТЬ ПО
Представление,
Представление1
Исходное сообщение ПрИнЦеСсА_ПсИхОв: фикса,ты придурок убей себя пока это не сделали другие
Исходное сообщение Лучиэнь_ищущая_Тень: Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)
Исходное сообщение fixin:Исходное сообщение Лучиэнь_ищущая_Тень: Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)
Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}
Исходное сообщение Лучиэнь_ищущая_Тень:Исходное сообщение fixin:Исходное сообщение Лучиэнь_ищущая_Тень: Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)
Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}
Видишь, внизу моего сообщения ссылку?.. Это ссылка на новый клиент.
Исходное сообщение fixin:Исходное сообщение Лучиэнь_ищущая_Тень:Исходное сообщение fixin: [QUOTE]Исходное сообщение Лучиэнь_ищущая_Тень: [B]Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)
Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}
Видишь, внизу моего сообщения ссылку?.. Это ссылка на новый клиент.
Исходное сообщение fixin
Исходное сообщение ПрИнЦеСсА_ПсИхОв: фикса,ты придурок убей себя пока это не сделали другие
Зачем, мне нравится жизнь.
В колонках играет: 095 НИЖЧЕ НІЖКИ {095 НИЖЧЕ НІЖКИ}
LI 5.09.15