select * from ABC where year='2011' and month >= '03'
UNION
select * from ABC where year='2012' and month = '01'
UNION
select * from ABC where year='2012' and month='02' and day='01';
Приведенный выше запрос должен решить задачу, но на самом деле он не является ни гибким, ни хорошо читаемым. Как предложил Мэтт, лучшим форматом разделения будет использование одной строковой переменной в формате yyyy-MM-dd в качестве столбца разделения. Однако вам может потребоваться сделать копию данных, если вы измените схему разбиения на год, месяц, день и т. Д. На мой взгляд, оно того стоит.