之间有什么区别
SELECT *
FROM table1
WHERE name LIKE ' [A-D] %' ;
和
BETWEEN 'A' AND 'D'
SQL server 中的?
答案 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]%'
等效 - 也就是说,只查看字符串的第一个字符。