sql >> Database >  >> RDS >> PostgreSQL

3 manieren om een ​​getal op te maken als een percentage in PostgreSQL

We hebben verschillende opties als we getallen met een procentteken in PostgreSQL willen weergeven.

We kunnen de TO_CHAR() . gebruiken functie om het getal samen met het procentteken op te maken. Of we kunnen het getal eenvoudig samenvoegen met het procentteken, ofwel met de CONCAT() functie of met de aaneenschakelingsoperator.

De TO_CHAR() Functie

Deze optie omvat het doorgeven van het getal en een numeriek sjabloonpatroon aan de functie om het getal te retourneren dat is opgemaakt op de manier die is gespecificeerd door het sjabloonpatroon. Om een ​​procentteken te krijgen, nemen we het op in ons sjabloonpatroon:

SELECT TO_CHAR(35, 'fm00D00%');

Resultaat:

35.00%

Hier gebruikte ik de 0 sjabloonpatroon, wat betekent dat de cijferpositie altijd wordt afgedrukt, zelfs als deze een voorloop-/achteruitgangsnul bevat.

Ik heb ook de fm . gebruikt formaatmodifier om voorloop-/achterloopnullen of spaties te onderdrukken.

Hier is het met enkele andere sjabloonpatronen:

SELECT 
    TO_CHAR(7, 'fm00%') AS "1",
    TO_CHAR(7, 'fm99%') AS "2",
    TO_CHAR(7.4567, 'fm0D00%') AS "3",
    TO_CHAR(7, 'fm0D00%') AS "4";

Resultaat:

+-----+----+-------+-------+
|  1  | 2  |   3   |   4   |
+-----+----+-------+-------+
| 07% | 7% | 7.46% | 7.00% |
+-----+----+-------+-------+

We kunnen indien nodig een berekening uitvoeren op basis van het aantal:

SELECT 
    TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
    TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";

Resultaat:

+-------+--------+
|   1   |   2    |
+-------+--------+
| 3.50% | 35.00% |
+-------+--------+

In dit geval neem ik de 9 . op sjabloonpatroon zodat voorloopnullen worden weggelaten.

De CONCAT() Functie

Een andere manier om dit te doen is door de CONCAT() functie om het getal en het procentteken samen te voegen:

SELECT CONCAT(35, '%');

Resultaat:

35%

De aaneenschakelingsoperator

Een andere manier om het getal en het percentageteken samen te voegen, is door de aaneenschakelingsoperator te gebruiken (|| ):

SELECT 35 || '%';

Resultaat:

35%

  1. Maak niet zomaar blindelings die ontbrekende indexen!

  2. Londiste-replicatie met PostgreSQL 9.0

  3. Hoe LocalTime() werkt in PostgreSQL

  4. SSIS kan pakketten niet opslaan en start Visual Studio opnieuw op