与SQL Server中具有多个%的条件一样

时间:2017-03-16 14:57:46

标签: sql sql-server sql-like

我想在SP中搜索以下字符串。我该怎么办呢?

select * from "MY_TABLE"
where gueltig_bis >= to_date(now())

当我尝试

时,我没有得到预期的结果
cal.[dbo].[GetNumberOfWorkingDays]

有用吗? : '%cal.[dbo].[GetNumberOfWorkingDays]%'.

2 个答案:

答案 0 :(得分:1)

方括号是SQL Server like运算符语法中的保留字符,因此您必须将其转义:

like '%cal.\[dbo].\[GetNumberOfWorkingDays]%' escape '\'

有关详细信息,请参阅MSDN

答案 1 :(得分:1)

另一种选择是使用CHARINDEX而不是LIKE。因为我猜这是在where子句中它会是这样的。

WHERE CHARINDEX('cal.[dbo].[GetNumberOfWorkingDays]', YourColumn, 0) > 0

https://msdn.microsoft.com/en-us/library/ms186323.aspx