AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.02.2011, 13:55   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Можно обойтись без профайлера SQL, ограничившись штатной трассировкой запросов, если в запросе использовать hint forceliterals. Хотя в запросе с литералами и без них может получиться разное значение маски
Старый 17.02.2011, 14:25   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,726 / 1208 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Можно обойтись без профайлера SQL, ограничившись штатной трассировкой запросов, если в запросе использовать hint forceliterals. Хотя в запросе с литералами и без них может получиться разное значение маски
Да, хинт forceliterals спасает положение. Но только если использовать переменные

X++:
  while select forceLiterals TableTestLike
    where
        TableTestLike.Field1 like mask
    {
        info(TableTestLike.Field1);
    }
Если же вместо переменной использовать константу. Т.е. писать запрос так

X++:
  while select forceLiterals TableTestLike
    where
        TableTestLike.Field1 like '*ABC0123456'
    {
        info(TableTestLike.Field1);
    }
То вне зависимости от использования хинта forceliterals или forceplaceholders на сервер уходит запрос вида

Код:
SELECT *
FROM TableTestLike
WHERE (Field1 like '\%ABC0123456' ESCAPE '\' )
Подобный запрос вообще ничего не возвращает. Но здесь проблема в обратном слеше и действительно уже в собственно MS SQL. Очевидно, происходит не корректное исключение этого самого слеша из условия отбора
Теги
like, баг

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Параметр ком.строки crosscompany и место поля dataareaid в индексах gl00mie DAX: Программирование 6 18.02.2013 13:28
При суммарной обработке закупок аксапта удаляет строки разноски счета и накладной maxkov DAX: Функционал 15 14.12.2012 17:27
размер 1 записи (строки) SHiSHok DAX: Программирование 15 10.08.2009 18:02
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:52.