请帮我理解这下面的SQL Server查询会做如何使用单引号与ESCAPE在SQL服务器
SELECT * from emp e where e.empName like '%'' escape ''%'
我的下一个迫切的问题 - 如何实现相同的HQL
,是我能在HQL
使用转义?
请帮我理解这下面的SQL Server查询会做如何使用单引号与ESCAPE在SQL服务器
SELECT * from emp e where e.empName like '%'' escape ''%'
我的下一个迫切的问题 - 如何实现相同的HQL
,是我能在HQL
使用转义?
它将返回emp
表中的所有内容,其中empName
列包含值为'' escape ''
的值。
select 1 where 'this string contains '' escape '' in it' like '%'' escape ''%'
这是很奇怪的,因为在你的搜索参数的双引号的......但这是因为在字符串中的引号必须用单引号进行转义。
考虑一下类似的例子。
select 1 where 'John Smith' like '%Sm%'
这是寻找字符串John Smith
在信Sm
逃逸单引号是HQL
对于同什么I have found
你认为该查询会做什么? –
你想要做这个吗? '在哪里名字像%'O''Brien%';'?如果是这样,为什么你需要'ESCAPE'关键字?只需将价值中的单引号加倍 - 或者,如果HQL足够专业以支持正确的强类型参数,那么您甚至不需要担心它... –
我需要转义单引号作为值,如果它在字符串中,则忽略单个报价 – Thiru