PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách xóa dấu chấm trong to_char nếu số là số nguyên

Bạn có thể tạo một hàm:

create function to_ch (value numeric, format text)
returns text language sql as $$
    select rtrim(to_char(value, format), '.')
$$;

select to_ch(1.2, 'FM9999.9999'), to_ch(1, 'FM9999.9999'), to_ch(1.2212, 'FM9999.9999');

 to_ch | to_ch | to_ch  
-------+-------+--------
 1.2   | 1     | 1.2212
(1 row)

Biến thể có định dạng xác định trước (có thể tiện dụng hơn):

create function to_ch4 (value numeric)
returns text language sql as $$
    select rtrim(to_char(value, 'FM9999.9999'), '.')
$$;

select to_ch4(1.2), to_ch4(1), to_ch4(1.2212);

 to_ch4 | to_ch4 | to_ch4 
--------+--------+--------
 1.2    | 1      | 1.2212
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để cài đặt gem hoạt động trên OS X Lion với Ruby 1.8.7 mà không bị lỗi seg?

  2. Làm cách nào để chèn vào tên bảng dưới dạng bí danh bằng trình trợ giúp chèn pg-promise?

  3. CHÈN với tên bảng động trong chức năng kích hoạt

  4. PostgreSQL - lặp lại các hàng từ LIMIT OFFSET

  5. Thêm cột dấu thời gian với mặc định NOW () chỉ cho các hàng mới