Sql server T-SQL通配符不工作运算符^
T-SQL不是通配符:Sql server T-SQL通配符不工作运算符^,sql-server,tsql,Sql Server,Tsql,T-SQL不是通配符: SELECT * FROM Customers WHERE City LIKE 'A[^a]%'; 它返回:“亚琛” 那么这里的^运算符是什么意思呢?如果使用,同样的结果也会出现 WHERE City LIKE 'A[a]%'; 我知道我可以使用'A[!A]'并且会工作,我关心的是为什么^?来自: 插入符号通配符[^]: 插入符号通配符用于搜索任何单个字符 字符不在指定的范围[^a-c]或集合[^abc]内 查找以3个字符的名字开头的所有员工 带“Ja”,第三个字符不
SELECT * FROM Customers
WHERE City LIKE 'A[^a]%';
它返回:“亚琛”
那么这里的^运算符是什么意思呢?如果使用,同样的结果也会出现
WHERE City LIKE 'A[a]%';
我知道我可以使用'A[!A]'
并且会工作,我关心的是为什么^
?来自:
插入符号通配符[^]:
插入符号通配符用于搜索任何单个字符
字符不在指定的范围[^a-c]或集合[^abc]内
查找以3个字符的名字开头的所有员工
带“Ja”,第三个字符不是“n”:
SELECT FirstName, MiddleName, LastName
FROM Person.Person
WHERE FirstName LIKE 'Ja[^n]'
以下是一个屏幕截图,说明它正在按预期工作:
来自:
插入符号通配符[^]:
插入符号通配符用于搜索任何单个字符
字符不在指定的范围[^a-c]或集合[^abc]内
查找以3个字符的名字开头的所有员工
带“Ja”,第三个字符不是“n”:
SELECT FirstName, MiddleName, LastName
FROM Person.Person
WHERE FirstName LIKE 'Ja[^n]'
以下是一个屏幕截图,说明它正在按预期工作:
如果在sql中不是这样,那么它应该给出错误,奇怪:)请参阅MSDN链接,它在我的数据库(sql Server 2014)上运行正常。为什么它应该给出错误?可能您正在寻找字符
^
如果!正在工作,则您有一个奇怪的配置,因为[]中的^。对我有用。尝试:选择“匹配”,其中“亚琛”类似于“A[^A]%”;如果在sql中不是这样,那么它应该给出一个错误,奇怪:)请参阅MSDN链接它在我的数据库(sql Server 2014)上运行良好。为什么它应该给出一个错误?可能您正在寻找字符^
如果!正在工作,则您有一个奇怪的配置,因为[]中的^。对我有用。尝试:选择“匹配”,其中“亚琛”类似于“A[^A]%”;你能运行你的查询并检查结果吗?它不起作用。@Rahul Tripathi:这是如何回答问题的?为什么当模式像“A[^A]%”一样时会检索到“Aachen”
,它应该排除在首字母“A”之后带有“A”的城市?@ThorstenKettner:-它按预期工作。我刚刚在我的SQL Server上验证了它,并附上了相同的屏幕截图。@AliAdravi:-它正在按预期工作。我在我的SQL Server上执行了相同的操作,它正在工作。您确定您尝试了同一个查询吗?您正在使用的SQL server的哪个版本,在2008年不起作用?您可以运行您的查询并检查结果吗?它不起作用。@Rahul Tripathi:这是如何回答问题的?为什么当模式像“A[^A]%”一样时会检索到“Aachen”
,它应该排除在首字母“A”之后带有“A”的城市?@ThorstenKettner:-它按预期工作。我刚刚在我的SQL Server上验证了它,并附上了相同的屏幕截图。@AliAdravi:-它正在按预期工作。我在我的SQL Server上执行了相同的操作,它正在工作。您确定使用了相同的查询吗?您使用的SQL server的哪个版本在2008年不起作用