1) No grites (escribir en mayúsculas en un foro es gritar, por si no lo sabías).
2) Cuando te refieres a "procedimientos". ¿te refieres a procedimientos en Java, o a stored procedures?
3) Cuando hablas de "casting", ¿es el casting de Java para conversión de tipos, o estás hablando de CONVERT() y/o CAST() de MySQL?
4) Los tipos de datos de fecha, ¿los estás almacenando como DATE, DATETIME o como VARCHAR?
Cita: Lo que quiero lograr es que al momento que me pidan el registro de ventas por mes y año, solo tenga que hacer una condicion por mes y año, y no tener que estar casteando fecha por fecha para encontrar las consultas que requiero
En SQL ese tipo de consultas, sobre un campo DATETIME requiere simplemente el uso de un MONTH() y YEAR() sobre el mismo, lo que implica que hacer una comparación con esos datos es sólo usar dos parámetros, mientras que la sintaxis es constante. ¿Tan complicado te resulta?
¿Que tanto conoces sobre SQL?