「[」是沒有分類的Unicode字符http://en.wikipedia.org/wiki/List_of_Unicode_characters(我猜測),爲什麼這是行不通的:噸-SQL LIKE和特殊字符
declare @v nvarchar(255)
set @v = '[x]825'
select 1
where @v like '[x]825'
「[」是沒有分類的Unicode字符http://en.wikipedia.org/wiki/List_of_Unicode_characters(我猜測),爲什麼這是行不通的:噸-SQL LIKE和特殊字符
declare @v nvarchar(255)
set @v = '[x]825'
select 1
where @v like '[x]825'
[]
定義字符的範圍進行模式匹配。它在LIKE語句中有特殊含義。 Here's the documentation for it.
如果你正在尋找這些字符明確,你需要逃避他們,就像這樣:
declare @v nvarchar(255)
set @v = '[x]825'
select 1
where @v LIKE '![x]825'
ESCAPE '!'
[X]有特定的含義到SQL Server。括號用於非常基本的正則表達式。所以你要搜索的是第一個字符包含字母X的地方,當然這不是變量中的第一個字符。
最好不要使用like,除非你打算擁有一個awildcard,並且通配符是第一個字符是個不好的習慣,因爲它使查詢使用表掃描而不是索引。
你剛剛打敗了我 – HLGEM 2009-12-09 18:34:02
他剛剛做到了!有沒有SQL設置阻止客戶進入?鉭 – bizl 2009-12-09 19:08:40