PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да премахнете точката в to_char, ако числото е цяло число

Можете да създадете функция:

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)

Вариант с предварително зададен формат (може би по-удобен):

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. SELECT EXISTS срещу LIMIT 1

  2. Postgresql - не може да се премахне базата данни поради някои автоматични връзки към DB

  3. използване на условна логика:проверете дали записът съществува; ако има, актуализирайте го, ако не, създайте го

  4. Съхраняване на стойностите на масива в цяло число

  5. Изберете от SUM() на множество колони и се присъединете към postgreSQL