PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak przekonwertować postgres o podwójnej precyzji na numeryczny bez utraty/obcinania danych?

Jednym ze sposobów, aby to zrobić:

show extra_float_digits ;
 extra_float_digits 
--------------------
 3

create table float_numeric(number_fld float8);
insert into float_numeric values (21.291400909423828), (23.291400909422436);
select * from float_numeric ;
     number_fld     
--------------------
 21.291400909423828
 23.291400909422435

alter table float_numeric alter COLUMN number_fld type numeric using number_fld::text::numeric;

\d float_numeric 
             Table "public.float_numeric"
   Column   |  Type   | Collation | Nullable | Default 
------------+---------+-----------+----------+---------
 number_fld | numeric |           |          | 

select * from float_numeric ;
     number_fld     
--------------------
 21.291400909423828
 23.291400909422435



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj wyraźną sumę połączonej kolumny tabeli

  2. Nie podano hasła / Nie znaleziono parametru pozycyjnego PostgreSQL - Powershell

  3. Dlaczego psycopg2 INSERT tak długo działa w pętli i jak mogę to przyspieszyć?

  4. Wybierz kolumny z wywołania funkcji w rdzeniu sqlalchemy

  5. nie można przetłumaczyć nazwy hosta postgres na adres:Nieznana nazwa lub usługa