sqlite hat ein etwas ungewöhnliches Verhalten, was die Spaltentypen und ihre Zuordnung / Werteinterpretation angeht. Im Grunde ist jedes
DB System (oder auch Anwendung) der Problematik unterworfen, den Typ eines zu verarbeitenden Wertes zu bestimmen, jedenfalls in dem Moment, wo es nicht explizit im Code gehandhabt wird oder direkt ableitbar ist.
sqlite nennt das Type Affinity. Kannst du ja mal nachschlagen und schauen, ob sich Dein Problem damit erklären lässt.