Thanks for the quick response Christoph. I would also prefer an error over non-sensical results. Good thing we're switching to Postgres soon!
On Wednesday, July 25, 2012 1:31:28 AM UTC-7, Christoph Zwerschke wrote: > > Am 25.07.2012 07:17, schrieb Amos: > > >>> [obj.code for obj in > > Session.query(Model).filter_by(my_column=123).all()] > > > > [u'123ad', u'123lpb', u'123xd8', u'123za0'] > > > > I would expect no results as no column exactly matches the string > > representation of my number > > Your result will depend on how your database engine compares strings to > integers. I can imagine that on some databases you will get no results, > on some you get an Error, because they refuse to make automatic type > conversions, and on some you will get what you got because they convert > the string '123ad' to the integer 123 (this is how e.g. the C function > atoi works). I haven't tested it, but I can imagine that Postgres will > throw an error and MySQL will give your result. That's one of the many > reasons I prefer Postgres. > > -- Christoph > > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sqlalchemy/-/OUj-p7tgVRMJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
