numeric
का प्रयोग करें नैनो टाइमस्टैम्प के आधार प्रकार के रूप में। फ़ंक्शन एक संख्यात्मक मान को उसके टेक्स्ट टाइमस्टैम्प प्रतिनिधित्व में परिवर्तित करता है:
create or replace function nanotimestamp_as_text(numeric)
returns text language sql immutable as $$
select concat(to_timestamp(trunc($1))::timestamp::text, ltrim(($1- trunc($1))::text, '0'))
$$;
आप उन मामलों में संख्यात्मक मानों को नियमित टाइमस्टैम्प में आसानी से परिवर्तित कर सकते हैं जहां सुपर परिशुद्धता आवश्यक नहीं है, उदाहरण:
with my_data(nano_timestamp) as (
select 1508327235.388551234::numeric
)
select
to_timestamp(nano_timestamp)::timestamp,
nanotimestamp_as_text(nano_timestamp)
from my_data;
to_timestamp | nanotimestamp_as_text
----------------------------+-------------------------------
2017-10-18 13:47:15.388551 | 2017-10-18 13:47:15.388551234
(1 row)