Cita: pienso que el problema puede ser que los campos no son datetime sino varchar, hay alguna forma de hacerlo con valores varchar?
Ese es exactamente el problema.
Es mejor que pases todos tus campos a DATE o sino guarda el Unix Timestamp, ya que con varchars, programando algun algoritmo, te vas a liar mas de lo necesario.