[ZODB-Dev] Transaction Timestamps

Matthias nitro at dr-code.org
Thu Feb 3 18:38:55 EST 2011


Am 03.02.2011, 22:39 Uhr, schrieb Kai Lautaportti  
<kai.lautaportti at 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


More information about the ZODB-Dev mailing list