PREPARATION
受験対策

Silverの例題解説「開発/SQL - 組み込み関数(算術関数)」

今回は、Silverの「開発/SQL - 組み込み関数(算術関数)」からの出題です。

例題

3.118

PostgreSQLの関数の説明として正しいものを3つ選びなさい。

  1. 小数部を切り捨てて整数にするには、rounddown 関数を使う。
  2. 小数部を切り捨てて整数にするには、trunc 関数を使う。

  3. 小数部を切り上げて整数にするには、roundup 関数を使う。
  4. 小数部を切り上げて整数にするには、ceil 関数を使う。
  5. 小数部を四捨五入して整数にするには、round関数を使う。
  6. 小数部を四捨五入して整数にするには、int関数を使う。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2020年8月19日

解答と解説

小数部を切り捨て、切り上げ、四捨五入して整数にする、あるいは例えば小数第3位以下を処理して小数第2位までの数にする、などという計算を使うことは多いと思いますが、ツールや処理系によって使う関数が違う、あるいは動作が微妙に異なることがあるので混乱しないように注意しましょう。

PostgreSQLで切り捨て、例えば12.345を12にするにはtruncという関数を使います。
切り上げ、例えば 12.345 を 13 にするには、ceil あるいは ceiling という関数を使います。
四捨五入、例えば12.345なら12に、34.567なら35にするにはroundという関数を使います。

したがって正解はB、D、Eです。

これらの動作は例えば、
select trunc(12.345), ceil(12.345), round(12.345), round(34.567);
を実行すれば確認できるので実際に試してみましょう。

これらのうち、truncとroundについては2つ目の引数で小数部の桁数を指定することができます。例えば
select trunc(12.345, 2), round(12.345, 2);
とすれば、12.34 と 12.35 が返ります。
この桁数指定には負の値を指定することもできます。round(12.345, -1) がどういう値になるのか、実際に試してみましょう。
また、負の値の切り捨て、切り上げがどうなるべきかについては、人によって考え方が異なる場合もあるようですが、これについても、例えば select trunc(-12.345), ceil(-12.345); を実行してどうなるのか確認してみましょう。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。