一条LIKE查询问题
这里简单整理测试一下LIKE语句对于"["和"]"的应用。
这里引用MS的帮助文档:
这里引用LIKE的说明:
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
CREATE TABLE #T(x nvarchar(400))
INSERT INTO #T
SELECT '[werx]' UNION ALL
SELECT '[sd[]]' UNION ALL
SELECT '[[sdf]]' UNION ALL
SELECT '' UNION ALL
SELECT '[img]/img]]' UNION ALL
SELECT 'img]/img]]' UNION ALL
SELECT '[wsd]'
--我们要查询格式为""的行
SELECT * FROM #T WHERE x LIKE '%%'
/*
结果:
-------------------
[img]/img]]
img]/img]]
*/
SELECT * FROM #T WHERE x LIKE '%[[]%]%'
/*
结果:
-------------------
*/
DROP TABLE #T
INSERT INTO #T
SELECT '[werx]' UNION ALL
SELECT '[sd[]]' UNION ALL
SELECT '[[sdf]]' UNION ALL
SELECT '' UNION ALL
SELECT '[img]/img]]' UNION ALL
SELECT 'img]/img]]' UNION ALL
SELECT '[wsd]'
--我们要查询格式为""的行
SELECT * FROM #T WHERE x LIKE '%%'
/*
结果:
-------------------
[img]/img]]
img]/img]]
*/
SELECT * FROM #T WHERE x LIKE '%[[]%]%'
/*
结果:
-------------------
*/
DROP TABLE #T
这里引用MS的帮助文档:
这里引用LIKE的说明:
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
LIKE '5[%]' | 5% |
LIKE '[_]n' | _n |
LIKE '[a-cdf]' | a、b、c、d 或 f |
LIKE '[-acdf]' | -、a、c、d 或 f |
LIKE '[ [ ]' | [ |
LIKE ']' | ] |
LIKE 'abc[_]d%' | abc_d 和 abc_de |
LIKE 'abc[def]' | abcd、abce 和 abcf |