Страница 1 из 1

Необычное поведение sql-запросов

Добавлено: 12 ноя 2025, 13:35
SergeyV
Добрый день. Столкнулся со следующей проблемой:
Имеется sql запрос D1002 != 6 And D1002 !=10. При выборе расширенного диалекта sql результат запроса соответствует ожиданиям, то есть в выборку попадают все объекты, кроме тех, чьё значение атрибута "D1002" равно "6", либо "10".
Однако при выборе стандартного диалекта sql в выборку попадают объекты, первый символ атрибута "D1002" которых равен, либо больше "6" (либо другой цифры в зависимости от запроса).
Если во второй части запроса "10" заменить на другое значение, первым символом которого не является "1", то запрос обрабатывается корректно.
Данная проблема замечена в 7 версии Аксиомы. В 6 версии и ранее данные запросы обрабатывались корректно независимо от выбранного диалекта sql.

Является ли такое поведение запросов корректным?

Re: Необычное поведение sql-запросов

Добавлено: 12 ноя 2025, 16:34
Александр
Нет, такое поведение некорректно, особенно учитывая, что в предыдущих версиях запрос обрабатывался правильно в обоих диалектах.
Пришлите, пожалуйста на support@axioma-gis.ru, пример данных, на которых воспроизводится проблема. Это поможет нам оперативно воспроизвести и устранить её.

Re: Необычное поведение sql-запросов

Добавлено: 13 ноя 2025, 09:57
SergeyV
Александр писал(а): 12 ноя 2025, 16:34 Нет, такое поведение некорректно, особенно учитывая, что в предыдущих версиях запрос обрабатывался правильно в обоих диалектах.
Пришлите, пожалуйста на support@axioma-gis.ru, пример данных, на которых воспроизводится проблема. Это поможет нам оперативно воспроизвести и устранить её.
Направил вам пример.

Re: Необычное поведение sql-запросов

Добавлено: 13 ноя 2025, 20:13
Александр
Спасибо за подробное описание и примеры - они помогли быстро локализовать проблему.

Вы совершенно правы: при использовании стандартного диалекта SQL-выражения вида:
D1002 != 6 AND D1002 != 10
обрабатываются некорректно.

Исправление уже в работе и войдёт в ближайшее обновление.
Пока оно не вышло, рекомендуем использовать расширенный диалект. В нём запрос работает так, как и ожидается.

Re: Необычное поведение sql-запросов

Добавлено: 14 ноя 2025, 06:55
SergeyV
Александр писал(а): 13 ноя 2025, 20:13 Спасибо за подробное описание и примеры - они помогли быстро локализовать проблему.

Вы совершенно правы: при использовании стандартного диалекта SQL-выражения вида:
D1002 != 6 AND D1002 != 10
обрабатываются некорректно.

Исправление уже в работе и войдёт в ближайшее обновление.
Пока оно не вышло, рекомендуем использовать расширенный диалект. В нём запрос работает так, как и ожидается.
Большое спасибо за оперативность!