Am 03.02.2011, 22:39 Uhr, schrieb Kai Lautaportti  
<kai.lautapor...@hexagonit.fi>:

> Here's a slightly different version of the MySQL query that outputs
> ISO8601 formatted timestamps:
>
> SELECT CONCAT(
>     CAST(((tid >> 32) div 535680 + 1900) AS CHAR),
>     '-',
>     LPAD(CAST((1 + ((tid >> 32) % 535680) div 44640) AS CHAR), 2, '0'),
>     '-',
>     LPAD(CAST((1 + ((tid >> 32) % 44640) div 1440) AS CHAR), 2, '0'),
>     'T',
>     LPAD(CAST((((tid >> 32) % 1440) div 60) AS CHAR), 2, '0'),
>     ':',
>     LPAD(CAST(((tid >> 32) % 60) AS CHAR), 2, '0'),
>     ':',
>     CONCAT(LPAD(SUBSTRING_INDEX(CAST(((tid & 4294967295) * 60.0 /
> 4294967296.0) AS CHAR), '.', 1), 2, '0'), '.',
> SUBSTRING_INDEX(CAST(((tid & 4294967295) * 60.0 / 4294967296.0) AS
> CHAR), '.', -1)),
>     'Z') AS iso8601
> FROM transaction;

Glad I'm using an object-oriented database :-)

-Matthias
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to