sql >> Databáze >  >> RDS >> PostgreSQL

Jak odstranit tečku v to_char, pokud je číslo celé číslo

Můžete vytvořit funkci:

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)

Varianta s předdefinovaným formátem (možná šikovnější):

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. Definovat názvy tabulek a sloupců jako argumenty ve funkci plpgsql?

  2. Kdy / jak jsou funkce výrazu výchozí hodnoty svázány s ohledem na vyhledávací_cestu?

  3. Jak zrychlit váš SQL Server pomocí sledování výkonu databáze

  4. Jak aktualizovat na kaskádě v MySQL?