SQL如何处理字母比较?
SELECT * FROM kyle1.dbo.Sheet1$ WHERE First_N BETWEEN 'E' AND 'H'
SELECT * FROM kyle1.dbo.Sheet1$ WHERE First_N BETWEEN 'E' AND 'G'
为什么第一个查询返回两个名称(' Ellias'和#39; George'),而第二个查询只返回一个? (' Ellias&#39)
答案 0 :(得分:5)
这是因为George > G
,您需要比较第一个字母而不是完整比较
所以,在ms sql中你可以尝试:
SELECT * FROM kyle1.dbo.Sheet1$ WHERE left(First_N, 1) BETWEEN 'E' AND 'G'
答案 1 :(得分:4)
SQL比较基本上就像将字符串放在有序表中一样。该表看起来像:
E
Elias
G
George
H
很明显,E和G之间只有1个名字,但E和H之间只有2个