LIKE'[A-D]%'有什么区别;和'A'和'D'之间的关系;在SQL Server中

时间:2018-05-19 11:30:07

标签: sql sql-server database rdbms

之间有什么区别
SELECT *
FROM table1
WHERE name LIKE ' [A-D] %' ;

BETWEEN 'A' AND 'D'
SQL server 中的

2 个答案:

答案 0 :(得分:5)

我假设你在谈论 SQL Server ,而不是 MySQL

SQL Server具有支持字符范围的LIKE扩展名。所以,你正在比较:

where name like '[A-D]%' 
where name between 'A' and 'D'

区别很简单。名称长于" D"以" D"开头匹配第一个条件而不是第二个条件。例如,' Dionysis'和吸血鬼'匹配like但不匹配between

等效比较为:

where name >= 'A' and name < 'E'

答案 1 :(得分:0)

LIKE '[A-D]%'检查字符串的第一个字符是A,B,C还是D. BETWEEN 'A' AND 'D'检查字符串是否介于&#39; A&#39;和&#39; D&#39;排序时。对于单个字符的字符串,它们的行为相同(取决于整理)。

没有通配符的

LIKE '[A-D]'在比较单个字符时是等效的BETWEEN 'A' AND 'D'

LEFT(textcolumn, 1) BETWEEN 'A' AND 'D'textcolumn LIKE '[A-D]%'等效 - 也就是说,只查看字符串的第一个字符。