Добрый день. Столкнулся со следующей проблемой:
Имеется sql запрос D1002 != 6 And D1002 !=10. При выборе расширенного диалекта sql результат запроса соответствует ожиданиям, то есть в выборку попадают все объекты, кроме тех, чьё значение атрибута "D1002" равно "6", либо "10".
Однако при выборе стандартного диалекта sql в выборку попадают объекты, первый символ атрибута "D1002" которых равен, либо больше "6" (либо другой цифры в зависимости от запроса).
Если во второй части запроса "10" заменить на другое значение, первым символом которого не является "1", то запрос обрабатывается корректно.
Данная проблема замечена в 7 версии Аксиомы. В 6 версии и ранее данные запросы обрабатывались корректно независимо от выбранного диалекта sql.
Является ли такое поведение запросов корректным?
Необычное поведение sql-запросов
Re: Необычное поведение sql-запросов
Нет, такое поведение некорректно, особенно учитывая, что в предыдущих версиях запрос обрабатывался правильно в обоих диалектах.
Пришлите, пожалуйста на support@axioma-gis.ru, пример данных, на которых воспроизводится проблема. Это поможет нам оперативно воспроизвести и устранить её.
Пришлите, пожалуйста на support@axioma-gis.ru, пример данных, на которых воспроизводится проблема. Это поможет нам оперативно воспроизвести и устранить её.
Re: Необычное поведение sql-запросов
Направил вам пример.Александр писал(а): ↑12 ноя 2025, 16:34 Нет, такое поведение некорректно, особенно учитывая, что в предыдущих версиях запрос обрабатывался правильно в обоих диалектах.
Пришлите, пожалуйста на support@axioma-gis.ru, пример данных, на которых воспроизводится проблема. Это поможет нам оперативно воспроизвести и устранить её.
Re: Необычное поведение sql-запросов
Спасибо за подробное описание и примеры - они помогли быстро локализовать проблему.
Вы совершенно правы: при использовании стандартного диалекта SQL-выражения вида:
D1002 != 6 AND D1002 != 10
обрабатываются некорректно.
Исправление уже в работе и войдёт в ближайшее обновление.
Пока оно не вышло, рекомендуем использовать расширенный диалект. В нём запрос работает так, как и ожидается.
Вы совершенно правы: при использовании стандартного диалекта SQL-выражения вида:
D1002 != 6 AND D1002 != 10
обрабатываются некорректно.
Исправление уже в работе и войдёт в ближайшее обновление.
Пока оно не вышло, рекомендуем использовать расширенный диалект. В нём запрос работает так, как и ожидается.
Re: Необычное поведение sql-запросов
Большое спасибо за оперативность!Александр писал(а): ↑13 ноя 2025, 20:13 Спасибо за подробное описание и примеры - они помогли быстро локализовать проблему.
Вы совершенно правы: при использовании стандартного диалекта SQL-выражения вида:
D1002 != 6 AND D1002 != 10
обрабатываются некорректно.
Исправление уже в работе и войдёт в ближайшее обновление.
Пока оно не вышло, рекомендуем использовать расширенный диалект. В нём запрос работает так, как и ожидается.
