2009-12-09 85 views

回答

3

[]定義字符的範圍進行模式匹配。它在LIKE語句中有特殊含義。 Here's the documentation for it.

如果你正在尋找這些字符明確,你需要逃避他們,就像這樣:

declare @v nvarchar(255) 
set @v = '[x]825' 
select 1 
where @v LIKE '![x]825' 
     ESCAPE '!' 
+0

你剛剛打敗了我 – HLGEM 2009-12-09 18:34:02

+0

他剛剛做到了!有沒有SQL設置阻止客戶進入?鉭 – bizl 2009-12-09 19:08:40

1

[X]有特定的含義到SQL Server。括號用於非常基本的正則表達式。所以你要搜索的是第一個字符包含字母X的地方,當然這不是變量中的第一個字符。

最好不要使用like,除非你打算擁有一個awildcard,並且通配符是第一個字符是個不好的習慣,因爲它使查詢使用表掃描而不是索引。