SQL在运算符字母结果之间

时间:2014-12-18 21:09:14

标签: sql

SQL如何处理字母比较?

SELECT * FROM kyle1.dbo.Sheet1$ WHERE First_N BETWEEN 'E' AND 'H'

SQL_QUERY

SELECT * FROM kyle1.dbo.Sheet1$ WHERE First_N BETWEEN 'E' AND 'G'

SQL_QUERY1

为什么第一个查询返回两个名称(' Ellias'和#39; George'),而第二个查询只返回一个? (' Ellias&#39)

2 个答案:

答案 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个