If it's stored as a string, then treat it as a string. You can't compare the two strings 9/16/2010
and 30/11/2010
and expect anything useful (i.e. first digit 3 comes before 9). The first choice would be BETWEEN '1/1/2010' AND '11/30/2010'
. If all your data is from one year it may work, though I'm not sure if the varying number of digits (not 0 padded) will work. With more than one year, 1/1/2010 is less than 2/1/2009 (first digit 1 comes before 2). If you had fixed width and started with the year (e.g. 2010-01-02), then it should work fine.
With the data you have, the best option is to cast each string to a date, then comparisons are easy. If you can somehow convert the field to datetime it would be best. In MS SQL Server you could create an indexed computed field which would convert the string to a date and index for fast querying.