こちらに張り合ってみました。
SQLで再帰を利用したFizzBuzz。
DBによって微妙に書き方が変わってくるけど、以下はPostgreSQLで動作確認。
WITH RECURSIVE TMP(NUM) AS (
SELECT 1 AS NUM
UNION ALL
SELECT NUM + 1 FROM TMP WHERE NUM < 20
)
SELECT
CASE
WHEN NUM % 15 = 0 THEN 'FIZZBUZZ'
WHEN NUM % 3 = 0 THEN 'FIZZ'
WHEN NUM % 5 = 0 THEN 'BUZZ'
ELSE CAST(NUM AS CHAR(2))
END
FROM
TMP
最近はてな始めました。