什么命令LIKE' [atoz:a]%'在SQL Server中意味着什么?

时间:2015-07-31 14:30:28

标签: sql sql-server

我从项目中继承了数据库和应用程序,并尝试使用数据库查询调试问题。

查询中有一行内容为:

WHERE property_title LIKE '[atoz:a]%' 

我很难理解atoz命令正在做什么,因为我之前从未遇到过它 - 我认为它只是说它只允许标题中的字符 - 但是有些标题包含符号,如()或 -

我已尝试在Google上搜索它,但我必须使用错误的术语,因为没有任何内容出现。如果有人可以向我解释,或者指向一个非常好的资源!

由于

2 个答案:

答案 0 :(得分:4)

这是寻找以字母“a”,“t”,“o”,“z”和“:”开头的property_title。第二个“a”是多余的。

我猜其意图实际上是:

WHERE property_title LIKE '[a-z]%' 

指定属性标题以字母开头(或小写字母,具体取决于使用的排序规则)。

答案 1 :(得分:3)

这只是LIKE operator of T-SQL

的一部分
  

[]
  指定范围内的任何单个字符([a-f])或set([abcdef])   au_lname LIKE' [C-P] arsen'查找作者姓氏以arsen结尾,并以C和P之间的任何单个字符开头,例如Carsen,Larsen,Karsen等。在范围搜索中,范围中包含的字符可能会根据排序规则的排序规则而有所不同。

您所看到的确切表达:

'[atoz:a]%'

基本上就是这个意思:

  • 首先可以是以下任何一个字符:
    • atoz:
  • 然后是任何事情(甚至没有)

请注意,atoz 表示从az的任何字符,它的字面意思是4个字符a,{{1 },to。要获得za的任何字符,您都会使用z。表达式中的第二个[a-z]是多余的,因为a表示与[aa]相同。