如何轉義下劃線字符?SQL Server Escape an Underscore
我寫了類似下面的where子句,並希望能夠在最後找到具有_d的實際條目。
Where Username Like '%_d'
如何轉義下劃線字符?SQL Server Escape an Underscore
我寫了類似下面的where子句,並希望能夠在最後找到具有_d的實際條目。
Where Username Like '%_d'
T-SQL Reference for LIKE for SQL Server 2000:
您可以使用通配符模式匹配字符爲文字字符。要將通配符用作文字字符,請將通配符括在括號內。該表顯示了使用LIKE關鍵字和[]通配符的幾個示例。
對於您的情況:
... LIKE '%[_]d'
顯然@Lasse的解決方案是正確的,但還有另一種方式來解決你的問題:T-SQL操作LIKE
定義了可選的ESCAPE條款,即允許聲明字符這會將下一個字符轉換爲模式。
對於你的情況,以下WHERE子句是等效的:
WHERE username LIKE '%[_]d'; -- @Lasse solution
WHERE username LIKE '%$_d' ESCAPE '$';
WHERE username LIKE '%^_d' ESCAPE '^';
要完成圖片:在`ESCAPE`子句是SQL標準的一部分,任何DBMS,不只是SQL Server將正常工作。 – 2015-06-17 07:46:29