我想選擇以此字符串模式'Dear [User Name]'開頭的記錄。以下where子句:
無法匹配方括號[SQL中的字符
where Message like 'Dear [UserName]%'
什麼也沒有返回。
什麼問題和解決方案是什麼?
注1:該字段[消息]是否以該文本開頭。
注2:字段[Message]的類型是文本,但varchar字段出現同樣的問題。
我想選擇以此字符串模式'Dear [User Name]'開頭的記錄。以下where子句:
無法匹配方括號[SQL中的字符
where Message like 'Dear [UserName]%'
什麼也沒有返回。
什麼問題和解決方案是什麼?
注1:該字段[消息]是否以該文本開頭。
注2:字段[Message]的類型是文本,但varchar字段出現同樣的問題。
試試這個
where Message like 'Dear \[User Name\]' escape '\';
太好了。謝謝。即使你不逃避]它仍然有效。 – Marwan 2012-02-21 08:07:29
[]是一個通配符匹配運算符,它匹配「指定範圍內的任何單個字符或括號內指定的集合。」 http://msdn.microsoft.com/en-us/library/ms179884.aspx
爲了讓你可以寫一個正確的匹配:
where Message like 'Dear [[]User Name]%'
已經有發佈了一個問題。看到這個。 http://stackoverflow.com/questions/8984380/sql-server-need-to-escape – Jayy 2012-02-21 07:07:46
你正在使用哪些DBMS? – 2012-02-21 07:21:35
我正在使用SQL Server 2008 R2。是的,這個問題是http://stackoverflow.com/questions/8984380/sql-server-need-to-escape的重複,所以我會關閉它。謝謝。 – Marwan 2012-02-21 07:44:12