SQLで円を描く技術

はじめに

この記事はkstmアドベントカレンダー2017 1日目の記事として書かれました

qiita.com

 

目次

 

まずは見てくれ!

gist.github.com

SQLで円が描けた!

コード解説

検証、実行環境はPostgreSQL10.0です。

基本方針としては、まず方眼紙を用意して、次に条件判定で塗るべきところを*で塗っているだけです。SQLなので、再帰でごにょごにょします。

まず、limitxyで表示する大きさを決めています。

そして、formulaでnを1ずつ増やしていく過程で、x,yをうまく回しながらCASE WHENで条件判定を行い、どこを塗るのかを決めています。

最後にくっつけて出力するところを書きます。

それを呼び出すと、SQLだけで円を描くことができます!

ギャラリー

条件式を変えると、他にも色々描けます。

gist.github.com

gist.github.com

書いた動機

とある就活関連のイベントで企業の人と話していた時、

僕「ボクSQLチョットデキル」

企業戦士「へー。うちの会社にSQLで円とか描いてる人いるけど」

僕「なにそれすごそう」

帰ってきた後

僕「あれ?よく考えたら結構簡単にできるのでは?」

カキカキ〜

僕「できた!なんだ簡単じゃん!」

 みたいな感じでした。

最後に

信州大学ものづくりサークルkstmは、技術に興味のある信州大学生を募集しています。面白そうだと思っていただけたら、是非見学に来て下さい!

部員募集 | kstmについて | 信州大学公認サークルkstm

あと僕、就活中です。こんなSQLを書ける(描ける?)新卒エンジニアを募集してる企業さん、是非お声がけください!

馬 (@Goryudyuma) | Twitter