Between Operator for varchar datatype
The column that you have is a VARCHAR so the ordering applied by the RDBMS will be alphabetical instead of numeric.

What is the smallest possible unit of storage for a HDD these days? GB? One way to solve your problem would be to create another column that transforms the storage into GB (or some other unit). Make sure that this column is integer or numeric and not a VARCHAR. Using your example data and assuming 1000 GB per TB:

'1GB', 1
'500GB', 500
'1TB', 1000
'100TB', 100000


Filtering on the second column is a much more straightforward way to get the results that you want.

If you don't want to create a new column, it would be possible, but messy, to do that conversion within the SQL query.