SQLite
 sql >> Database >  >> RDS >> SQLite

2 modi per aggiungere un segno di percentuale a un numero in SQLite

Ecco due modi per formattare un numero come percentuale in SQLite.

Opzione 1:PRINTF() o FORMAT() Funzione

Possiamo usare il PRINTF() o FORMAT() funzione per aggiungere il segno di percentuale a un numero:

SELECT PRINTF('%2d%%', 17);

Risultato:

17%

Quando si utilizza questa funzione, il segno di percentuale ha un significato speciale nella stringa di formato (indica che segue una sostituzione). Se vogliamo che il segno di percentuale effettivo sia incluso nell'output, dobbiamo utilizzare il due segni di percentuale nella stringa di formato.

Ecco altri esempi:

SELECT 
    PRINTF('%02d%%', 3.45) AS "1",
    PRINTF('%2.2f%%', 3) AS "2",
    PRINTF('%1.2f%%', 3.456) AS "3",
    PRINTF('%2.3f%%', 3.456) AS "4";

Risultato:

1    2      3      4     
---  -----  -----  ------
03%  3.00%  3.46%  3.456%

Aggiorna :SQLite 3.38.0 (rilasciato il 22 febbraio 2022) rinominato PRINTF() funzione su FORMAT() . Il PRINTF() originale name viene mantenuto come alias per la compatibilità con le versioni precedenti.

Pertanto, il primo esempio sopra può essere modificato in questo:

SELECT FORMAT('%2d%%', 17);

Risultato:

17%

Opzione 2:Concatena

Un altro modo per farlo è usare l'operatore di concatenazione (|| ) per concatenare il numero con il segno di percentuale:

SELECT 3.45 || '%';

Risultato:

3.45%

Può funzionare anche con espressioni come questa:

SELECT (0.045 * 100) || '%';

Risultato:

4.5%