ऐसा लगता है कि कार्य to_timestamp()
और to_char()
दुर्भाग्य से परिपूर्ण नहीं हैं। अगर आपको कुछ बेहतर नहीं मिल रहा है, तो इन उपायों का उपयोग करें:
with example_data(d) as (
values ('2016-02-02')
)
select d, d::timestamp || '.0' tstamp
from example_data;
d | tstamp
------------+-----------------------
2016-02-02 | 2016-02-02 00:00:00.0
(1 row)
create function my_to_char(numeric)
returns text language sql as $$
select case
when strpos($1::text, '.') = 0 then $1::text
else rtrim($1::text, '.0')
end
$$;
with example_data(n) as (
values (100), (2.00), (3.34), (4.50))
select n::text, my_to_char(n)
from example_data;
n | my_to_char
------+------------
100 | 100
2.00 | 2
3.34 | 3.34
4.50 | 4.5
(4 rows)
यह भी देखें:यदि संख्या एक पूर्णांक है तो to_char में डॉट कैसे निकालें