Последняя версия DataExpress 2021.10.21

Изображение Скачать | Изображение Что нового?

SQL поиск по части слова

Вопросы по составлению выражений SQL
Аватара пользователя
Иван
Опытный
Сообщения: 277
Зарегистрирован: 22 дек 2018, 14:16
Откуда: Kiev
Благодарил (а): 41 раз
Поблагодарили: 82 раза

SQL поиск по части слова

Сообщение Иван » 02 дек 2019, 21:44

Интересует поиск SQL по слову или части слова, не срабатывает стандартный метод (пример: where tv.[Название товара] Like "Текст" ), возможно в DX реализовано по другому методу?

Аватара пользователя
Develop-Soft
Сообщения: 2010
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 130 раз
Поблагодарили: 666 раз
Контактная информация:

SQL поиск по части слова

Сообщение Develop-Soft » 02 дек 2019, 22:14

'текст' - точное совпадение.
'%текст%' - "содержит".
'%текст' - "заканчивается на".
'текст%' - "начинается с".

Аватара пользователя
Иван
Опытный
Сообщения: 277
Зарегистрирован: 22 дек 2018, 14:16
Откуда: Kiev
Благодарил (а): 41 раз
Поблагодарили: 82 раза

SQL поиск по части слова

Сообщение Иван » 15 дек 2019, 17:45

Develop-Soft писал(а):'текст' - точное совпадение.
'%текст%' - "содержит".
'%текст' - "заканчивается на".
'текст%' - "начинается с".


Можете подсказать понимает ли SQL DX например CASE WHEN THEN END, то ли ошибка где то ли просто нет такой функции в DX SQL. Может это где написано, не нашел(

Аватара пользователя
Develop-Soft
Сообщения: 2010
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 130 раз
Поблагодарили: 666 раз
Контактная информация:

SQL поиск по части слова

Сообщение Develop-Soft » 15 дек 2019, 19:52


Аватара пользователя
Иван
Опытный
Сообщения: 277
Зарегистрирован: 22 дек 2018, 14:16
Откуда: Kiev
Благодарил (а): 41 раз
Поблагодарили: 82 раза

SQL поиск по части слова

Сообщение Иван » 15 дек 2019, 22:44

Develop-Soft писал(а):http://firebirdsql.su/doku.php?id=case


Запрашиваю с внешнего Укрсклада на FireBird через ADODB.Connection там все ок, любой SQL, а вот именно в ДХ не идет. Простой пример.

Такое в редакторе SQL прокатит

Код: Выделить всё

select
    SUM(tv.f70)
    FROM t20 tv
    WHERE tv.f70>200


Выдает ошибку

Код: Выделить всё

select
    SUM(CASE
     WHEN tv.f70>200 THEN tv.f70
    END)
    from t20 tv

Аватара пользователя
Develop-Soft
Сообщения: 2010
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 130 раз
Поблагодарили: 666 раз
Контактная информация:

SQL поиск по части слова

Сообщение Develop-Soft » 15 дек 2019, 23:07

1. Какую ошибку?
2. Где именно в DX вы проверяли конструкцию с ошибкой? Непосредственно в скрипте или редакторе SQL?
3. Для повышения вероятности выдачи ответа недурно прикреплять пример БД. Не знаю кому как, но лично мне воссоздавать вашу ситуацию с нуля в DX нет ни времени ни желания. Гадаем на кофейной гуще...

Аватара пользователя
Иван
Опытный
Сообщения: 277
Зарегистрирован: 22 дек 2018, 14:16
Откуда: Kiev
Благодарил (а): 41 раз
Поблагодарили: 82 раза

SQL поиск по части слова

Сообщение Иван » 16 дек 2019, 00:04

Develop-Soft писал(а):1. Какую ошибку?
2. Где именно в DX вы проверяли конструкцию с ошибкой? Непосредственно в скрипте или редакторе SQL?
3. Для повышения вероятности выдачи ответа недурно прикреплять пример БД. Не знаю кому как, но лично мне воссоздавать вашу ситуацию с нуля в DX нет ни времени ни желания. Гадаем на кофейной гуще...


Думал что ответ очевидно будет нет такой функции) Прикрепил пример.
Вложения
ТЕСТОШИБКИSQL.rar
(40.2 КБ) 142 скачивания

Аватара пользователя
admin
Разработчик
Сообщения: 5936
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 74 раза
Поблагодарили: 591 раз

SQL поиск по части слова

Сообщение admin » 16 дек 2019, 09:02

Парсер DX не понимает. Надо дорабатывать.

Аватара пользователя
Иван
Опытный
Сообщения: 277
Зарегистрирован: 22 дек 2018, 14:16
Откуда: Kiev
Благодарил (а): 41 раз
Поблагодарили: 82 раза

SQL поиск по части слова

Сообщение Иван » 25 дек 2019, 14:21

admin писал(а):Парсер DX не понимает. Надо дорабатывать.


А у вас часом нету списка функций SQL какие DX понимает?


Вернуться в «Вопросы по SQL»