SQLにて計算処理

こんにちわ。tomです。

関東にも雪が降りましたね。
皆さん怪我等なかったでしょうか?

さてさて、SQLの簡単な使い方編です。

前に、データベースはOracleを使用し、
プログラム言語はCOBOLの環境で、
複雑な計算処理があった時に、
この言語は昔からある言語なので、
複雑な計算時の場合、一度にできないので、
途中で切り捨てられないように変数作る必要があり、
後でメンテナンスが大変になりそうだったので、
どう作ろうか考えていたところ、
「SQLで計算してしまえば?」
とアドバイスを頂き、
SQLで計算することにし、
更に小数点以下の切り捨てまでやってしまう事にしました。

 SELECT TRUNC
 (  ( ( :WK-TANKA  *  :WK-SURYO )
 + :WK-TESURYO + :WK-KEIHI + :WK-SYOHIYO )
 / :WK-SURYO * :WK-BUY-SURYO )
 INTO  :WK-KINGAKU
 FROM   DUAL

(※先頭の”:”は変数)

まあこんな感じでしたね。
SQLでこんなこともできるんだと、当時結構衝撃を受けました。
まあ最近の言語ではこんな使い方しなくても思いますが?

ではまた。