SqlServer2008R2是不是把通配符!给去掉了?

时间:2022-07-24 18:46:52
Hello All,

我在网上查的通配符!是查出该处不是某字符的数据,但以下是我的查询语句和查出来的内容:
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]%'

#3


LIKE '[!t]%'
的意思是
!开头或者t开头,所以结果没错

#4


引用 2 楼 Haiwer 的回复:
sql server好像没有过

LIKE '[!t]%'

一直只有

LIKE '[^t]%'


我在w3school上看的是说用^或者是!,是一个意思。

http://www.w3school.com.cn/sql/sql_wildcards.asp

所以我还以为是!是老版本的写法。是那个教程写错了吗?

#5


没见过!的语法,要么是写错了,要么是其他规则中的语法

#6


引用 5 楼 szm341 的回复:
没见过!的语法,要么是写错了,要么是其他规则中的语法

哦,这样啊,谢谢。

#1


^是非的意思吧

#2


sql server好像没有过

LIKE '[!t]%'

一直只有

LIKE '[^t]%'

#3


LIKE '[!t]%'
的意思是
!开头或者t开头,所以结果没错

#4


引用 2 楼 Haiwer 的回复:
sql server好像没有过

LIKE '[!t]%'

一直只有

LIKE '[^t]%'


我在w3school上看的是说用^或者是!,是一个意思。

http://www.w3school.com.cn/sql/sql_wildcards.asp

所以我还以为是!是老版本的写法。是那个教程写错了吗?

#5


没见过!的语法,要么是写错了,要么是其他规则中的语法

#6


引用 5 楼 szm341 的回复:
没见过!的语法,要么是写错了,要么是其他规则中的语法

哦,这样啊,谢谢。