Question About Like-II Lesson

Can someone explain to me why this would only give me results beginning with A, but excluding J -

SELECT * FROM movies WHERE name BETWEEN 'A' AND 'J';

But this would give me results that begin in 1990 and also includes 2000?

SELECT * FROM movies WHERE year BETWEEN 1990 AND 2000;

TIA!

From
= http://stackoverflow.com/questions/15720950/sql-between-for-text-vs-numeric-values

[quote]
Between is operating exactly the same way for numbers and for character strings. The two endpoints are included. This is part of the ANSI standard, so it is how all SQL dialects work.

The expression:
where num between 33 and 135

will match when num is 135. It will not match when number is 135.00001.

Similarly, the expression:
where food_name BETWEEN ‘G’ AND ‘O’

will match ‘O’, but not any other string beginning with ‘O’.

Once simple kludge is to use “~”. This has the largest 7-bit ASCII value, so for English-language applications, it usually works well:
where food_name between ‘G’ and ‘O~’

You can also do various other things. Here are two ideas:
where left(food_name, 1) between ‘G’ and ‘O’
where food_name >= ‘G’ and food_name < ‘P’

The important point, though, is that between works the same way regardless of data type
[end-quote]

google search
== discussions / opinions ==
sql between number and string site:stackoverflow.com

Ps.
Nice playing-ground where you can change the =statement=
= http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_between
where the ~-sign is NOT supported
had to use
SELECT * FROM Products
WHERE left(ProductName,1) BETWEEN ‘A’ AND ‘C’;

Thank you!! That makes so much sense it’s kind of like “duh”. LOL

Also, thanks for the link to play with!