要选取表tbl中字段fld以"t_"开头的记录,使用"select * from tbl where fld like 't_%'",然而结果却不如我们的意,它选出的是所有以"t"开头的记录,而不是以"t_"开头的记录。
原来"_"是通配符,表示零个或一个任何字符。虽然我们都知道"_"是个通配符,但在这里使用时往往会疏忽,尤其是关键词来自客户端输入时。这里正确的写法应该是"select * from tbl where fld lik 't[_]%'"。
"[]"表指定范围 (如[a-f]) 或集合 (如[abcdef]) 中的任何单个字符。
"[^]"表不属于指定范围 (如[a-f]) 或集合 (如[abcdef]) 的任何单个字符。
那么我们不想将"["、"]"作为通配符时又如何写呢?
搜索"["用 like '[[]'
搜索"]"用 like ']'
比如我们要选取表tbl中字段fld含有"[1]"的记录,使用"select * from tbl where fld like '%[[]1]%'"。