如何在SQL Server中使用ESCAPE单引号

时间:2017-01-26 17:51:08

标签: sql-server hibernate sql-server-2008 hql hibernate-criteria

请帮我理解下面的SQL服务器查询将会做什么

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

我的下一个直接问题 - 如何在HQL中实现同样的目标,是否可以在HQL中使用转义?

2 个答案:

答案 0 :(得分:0)

此查询返回emp字段中包含'escape'的表empName的所有记录。

“%”符号用于在模式

之前和之后定义通配符(缺少字母)

查看this链接。

希望这有帮助!

答案 1 :(得分: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

对于I have found

HQL转义单引号是相同的