我在网上查的通配符!是查出该处不是某字符的数据,但以下是我的查询语句和查出来的内容:
SELECT * FROM dbo.t1
tid tname
8 1t1-8
1 t1-1
2 t1-2
3 t1-3
4 t1-4
5 t1-5
6 t1-6
7 t1-7
SELECT * FROM dbo.t1 WHERE tname LIKE '[!t]%'
tid tname
1 t1-1
2 t1-2
3 t1-3
4 t1-4
5 t1-5
6 t1-6
7 t1-7
用^这个查询就是对的。
SELECT * FROM dbo.t1 WHERE tname LIKE '[^t]%'
tid tname
8 1t1-8
请问SqlServer2008R2是把通配符!给去掉了吗?
Thank you.
Roim
6 个解决方案
#1
^是非的意思吧
#2
sql server好像没有过
LIKE '[!t]%'
一直只有
LIKE '[^t]%'
LIKE '[!t]%'
一直只有
LIKE '[^t]%'
#3
LIKE '[!t]%'
的意思是
!开头或者t开头,所以结果没错
的意思是
!开头或者t开头,所以结果没错
#4
我在w3school上看的是说用^或者是!,是一个意思。
http://www.w3school.com.cn/sql/sql_wildcards.asp
所以我还以为是!是老版本的写法。是那个教程写错了吗?
#5
没见过!的语法,要么是写错了,要么是其他规则中的语法
#6
哦,这样啊,谢谢。
#1
^是非的意思吧
#2
sql server好像没有过
LIKE '[!t]%'
一直只有
LIKE '[^t]%'
LIKE '[!t]%'
一直只有
LIKE '[^t]%'
#3
LIKE '[!t]%'
的意思是
!开头或者t开头,所以结果没错
的意思是
!开头或者t开头,所以结果没错
#4
我在w3school上看的是说用^或者是!,是一个意思。
http://www.w3school.com.cn/sql/sql_wildcards.asp
所以我还以为是!是老版本的写法。是那个教程写错了吗?
#5
没见过!的语法,要么是写错了,要么是其他规则中的语法
#6
哦,这样啊,谢谢。