-1

Пожалуйста, помогите мне понять, что это ниже запрос сервера SQL будет делатьКак использовать одинарную кавычку с ESCAPE в сервере SQL

SELECT * from emp e where e.empName like '%'' escape ''%' 

Мой следующий сразу возникает вопрос - как добиться того же в HQL, что я могу использовать побег в HQL?

+1

Как вы думаете, что запрос будет делать? –

+1

Вы пытаетесь это сделать? 'WHERE name LIKE '% O''Brien%';'? Если да, зачем вам ключевое слово «ESCAPE»? Просто удвоьте одиночные кавычки в значении - или, если HQL достаточно профессиональна, чтобы поддерживать правильные, строго типизированные параметры, вам даже не нужно беспокоиться об этом ... –

+0

Мне нужно избежать одиночных котировок как значение, игнорировать одиночную Цитату, если она находится в String – Thiru

ответ

0

Этот запрос возвращает все записи таблицы emp с содержит 'escape' в поле empName.

Знак «%» используется для определения маски (недостающие буквы) как до, так и после картины

Look this ссылки.

Надеюсь, что эта помощь!

0

Он вернет все из таблицы emp, где столбец empName содержит значение, содержащее в нем '' escape ''.

select 1 where 'this string contains '' escape '' in it' like '%'' escape ''%' 

Это довольно странно, потому что в двойных кавычках в параметр поиска ... но это потому, что кавычки внутри строки должны быть экранированы с одной цитатой.

Рассмотрите этот пример для чего-то подобного.

select 1 where 'John Smith' like '%Sm%' 

Это ищет буквы Sm в строке John Smith

Спасаясь одиночные кавычки одинаково для HQL для того, что I have found