Your select works.
If I create a new table:
MyColumn
2014-1024
2014-1025
2014-1026
2014-1027
2014-1028
2014-1030
2014-1031
2014-1029
And use your select:
SELECT * FROM Table_1
WHERE MyColumn IS NOT NULL AND MyColumn BETWEEN '2014-1026' AND '2014-1030'
Then I get what you are asking for:
MyColumn
2014-1026
2014-1027
2014-1028
2014-1030
2014-1029
If you want to exclude '2014-1029' because the earlier values include greater values, then you will probably need additional info, as SQL doesn't normally work on row numbers, and (unless you specify a sort order explicitly with an ORDER BY clause) can return rows in any order it finds convenient: so you can;t guarantee that the order of rows you show in your example data will be preserved unless there is a different column on which to order.