postgresで数値を整形するには空文字列とくっつける方法やto_char関数が使えます。
実際のところ
文字列とくっつける
空文字列とくっつける方法もあります。
単純に文字化したいだけなら、これが楽でしょう。
SELECT ('' || 12) AS i;
i ---- 12 (1 row)
というわけで、以前の記事をちゃんと数値を出すと成ると次のようになります。
SELECT a, CASE WHEN a % 15 = 0 THEN 'FizzBuzz' when a % 3 = 0 then 'Fizzz' WHEN a % 5 = 0 THEN 'Buzz' ELSE '' || a END
結果
a | case ----+---------- 1 | 1 2 | 2 3 | Fizzz 4 | 4 5 | Buzz 6 | Fizzz 7 | 7 8 | 8 9 | Fizzz 10 | Buzz 11 | 11 12 | Fizzz 13 | 13 14 | 14 15 | FizzBuzz (15 rows)
to_char
他にはto_charがあります。
こっちはフォーマットを色々いじることが出来るので色々遊び甲斐がありそう。
SELECT a, CASE WHEN a % 15 = 0 THEN 'FizzBuzz' when a % 3 = 0 then 'Fizzz' WHEN a % 5 = 0 THEN 'Buzz' ELSE to_char(a,'FM99') END FROM generate_series(1,15) as a;