Hi,

I'm working with fdb 1.8 and firebird 2.5. I get any behavior that confuse me, 
maybe I'm misunderstanding something.

I have a datetime python object with microsecond precisions on it. Inserting 
this into a table and when retrive the inserted record I lost the microsecond 
precision (firebird works with milliseconds, right?)

Example:

>> d = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
>>> d.microsecond
321

>> sql = "INSERT INTO DB_FUNCTIONS_DTMODEL (ID, NAME, START_DATETIME) VALUES 
>> (?, ?, ?)"

Where START_DATETIME is TIMESTAMP field.

>> cur.execute(s, (None, 'test4', d))

>> cur.execute("SELECT r.ID, r.NAME, r.START_DATETIME FROM DB_FUNCTIONS_DTMODEL 
>> r")
>> r = cur.fetchone()
>> r
(320, 'test1', datetime.datetime(2015, 6, 15, 14, 30, 50, 300))

>>> r[2].microsecond
300

The original microsecond was 321.

So, I need explicit datatype conversion or work datetime as string wirh 
microsecond to millisecond replacement?
Is a bug? 
Is a feature?


Regards
Maxi


















 

Reply via email to