我的数据库中有一个表,我在其中插入了所有表名。 例如,我有表名[test]。[TestTable]以及运行此查询时
select * from Tables where Name like N'%[test].[TestTable]%'
它不返回任何值,但是此查询有效:
select * from Tables where Name like N'%[TestTable]%'
有人可以解释我为什么吗?
答案 0 :(得分:1)
您必须逃脱左方括号:
SELECT * FROM Tables WHERE Name LIKE N'%[[]test].[[]TestTable]%'
-----------------------------------------^ ^
--------------------------------------------------+
答案 1 :(得分:0)
当您使用运算符LIKE并且在条件add []中,它具有另一种含义。 LIKE会将其读取为指定范围([a-f])或集合([abcdef])中的任何单个字符。
尝试使用:像N'%TestTable%'