Hi Cherry, here are a several ways to handle this problem. First, you have a solution there, although it will be on a case by case basis and may require a trigger, where you could add a sorting column that you parse the month out.
One of the ways I might handle this is to treat the number series as a string, and Substr() out the month. This could be done in a Where clause:
WHERE SUBSTR([DATE], 3, 2) > "07";
It could also be preformed in a correlated sub-query or with an Order/Group by clause. This method has some big limitations, in that the length of the value can't change; and that less than/greater than comparisons for strings are dependent on your database structure and it's collation.
Another option is to re-serialize the month and year using something like YYYYMM as a pattern to create your filter. For that matter, you can re-pattern the number into YYYYMMDD and be able to sort using YYYYMM00. Personally, I would use this method to keep the date numeric for sorting. (I am assuming ANSI for String Concatenation - SQL Server '+' operator, Oracle is '|', and ANSI/Postgre is '||')
SELECT [SERIALIZED_DATE]
FROM YEAR(CONVERT(DATETIME,"07/26/2013")) || MONTH(CONVERT(DATETIME,"07/26/2013")) || DAY(CONVERT(DATETIME,"07/26/2013"));
...
WHERE [SERIALIZED_DATE] > 20130700;