On Jan 21, 2014, at 4:31 AM, 曹忠 <joo.t...@gmail.com> wrote: > test env: sql server 2005 and pyodbc 3.0.7 and freetds 0.91, on debian 8.0 > product env: sql server 2005 and pyodbc 3.0.7 and native client 10.0, on > windows 2003 > above two env is the same behavior with 0.9.1, always return decimal object > for float type > > follow is part data model: > > from sqlalchemy.ext.declarative import declarative_base > from sqlalchemy.schema import Column, > from sqlalchemy.types import SmallInteger, Integer, Float > from sqlalchemy.types import String > > Base = declarative_base() > > class Unit(Base): > __tablename__ = 't_MeasureUnit' > > id = Column('FMeasureUnitID', Integer, autoincrement=False, > primary_key=True) > name = Column('FName', String(80), nullable=False) > number = Column('FNumber', String(30), nullable=False) > short_number = Column('FShortNumber', String(30)) > conversation = Column('FConversation', Integer, server_default='(1)') > coefficient = Column('FCoefficient', Float, nullable=False, > server_default='(1)') > deleted = Column('FDeleted', SmallInteger, nullable=False, > server_default='(0)') > > with 0.8.4, conversation column return python float object, upgrade to 0.9 or > 0.9.1 all Float column always return decimal object. > my project and the data model has been running for over two years, pass two > year with 0.7 and 0.8 no problem. my project not need to use decimal, float > precision is sufficient.
uh, but “conversation” above is an Integer. What is the actual datatype on SQL Server? Are you sure you’re not referring to “coefficient” ?
signature.asc
Description: Message signed with OpenPGP using GPGMail