我試圖逃避LIKE
聲明中的下劃線字符。我曾嘗試使用ESCAPE
關鍵字如下:如何在SQL Server中逸出_
COLUMNNAME NOT LIKE '%[\_]xyz%' ESCAPE '\'
,但它不工作。它仍然過濾出%xyz%
,當我真的想過濾掉%_xyz%
。
如果不是ESCAPE
關鍵字,那麼該如何實現呢?
任何幫助表示讚賞。
我試圖逃避LIKE
聲明中的下劃線字符。我曾嘗試使用ESCAPE
關鍵字如下:如何在SQL Server中逸出_
COLUMNNAME NOT LIKE '%[\_]xyz%' ESCAPE '\'
,但它不工作。它仍然過濾出%xyz%
,當我真的想過濾掉%_xyz%
。
如果不是ESCAPE
關鍵字,那麼該如何實現呢?
任何幫助表示讚賞。
只是這應該工作:
COLUMNNAME NOT LIKE '%[_]xyz%'
您不需要這裏的ESCAPE。你寫的也應該有效。
如果你想使用ESCAPE你可以這樣做:轉義字符
columnname NOT LIKE '%\_xyz%' ESCAPE '\';
文檔是here。
使用brakets [_]
這對我的作品在SQL Server 2005
select *
from #table
where a like '%[_]xyz%'
+1:支持鏈接:http://sqlserver2000.databases.aspfaq.com/how-do-i-search-for-special-characters-eg- in-sql-server.html – 2010-02-20 00:04:19
嘗試沒有括號:
COLUMNNAME NOT LIKE '%\_xyz%' ESCAPE '\'
謝謝,這工作。我不知道爲什麼它以前沒有工作,但現在非常感謝。 – 2010-02-19 23:40:38