SQLiteで数値をパーセンテージとしてフォーマットする2つの方法があります。
オプション1:PRINTF()
またはFORMAT()
機能
PRINTF()
を使用できます またはFORMAT()
パーセント記号を数値に追加する関数:
SELECT PRINTF('%2d%%', 17);
結果:
17%
この関数を使用する場合、パーセント記号はフォーマット文字列で特別な意味を持ちます(置換が続くことを示します)。実際のパーセント記号を出力に含める場合は、フォーマット文字列で2つのパーセント記号を使用する必要があります。
その他の例を次に示します。
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";
結果:
1 2 3 4 --- ----- ----- ------ 03% 3.00% 3.46% 3.456%
更新 :SQLite 3.38.0(2022年2月22日リリース)はPRINTF()
に名前を変更しました FORMAT()
への関数 。元のPRINTF()
名前は、下位互換性のためにエイリアスとして保持されます。
したがって、上記の最初の例は次のように変更できます。
SELECT FORMAT('%2d%%', 17);
結果:
17%
オプション2:連結
これを行う別の方法は、連結演算子(||
)を使用することです。 )数値をパーセント記号で連結するには:
SELECT 3.45 || '%';
結果:
3.45%
は、次のような式でも機能します:
SELECT (0.045 * 100) || '%';
結果:
4.5%