PREPARATION
受験対策

Silverの例題解説
「S3.2 組み込み関数(文字列関数)」

今回は、Silverの「S3 開発/SQL - S3.2 組み込み関数(文字列関数)」からの出題です。

例題

3.120

文字列を扱う関数の説明として、間違っているものを1つ選びなさい。

  1. 文字列の長さを文字数で返す関数として character_length がある。例えば character_length('あいうえお') は 5 となる。
  2. 文字列の長さをバイト数で返す関数として byte_length がある。例えば、文字セットが UTF-8 のデータベースでは byte_length('あいうえお') は 15 となる。

  3. 部分文字列を返す関数として substring がある。例えば substring('12345678' from 3 for 2) は '34' となる。
  4. 文字列を置換する関数として replace がある。例えば replace('12341234', '2', 'x') は '1x341x34' となる。
  5.  文字列の両端から空白を除去する関数として trim がある。例えば trim(' abc ') は 'abc' となる。

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

解答と解説

文字列の長さ(文字数)を得るには character_length という関数を使用します。マルチバイト文字も適切に処理して文字数を正しく数えてくれます。同じ機能の関数として char_length あるいは length も使用できます。

文字列の長さ(バイト数)を得るには octet_length という関数を使用します。日本語はエンコーディングの種類によって1文字が2バイトあるいは3バイトだったりしますが、データベースサーバのエンコーディングに従ったバイト数が返されます。

文字列の一部を取り出す関数として substring があります。引数のパターンはいくつかありますが、標準的な使用法では選択肢Cのように、何文字目から何文字取り出すかを from と for で指定します。

文字列中の特定の文字を置換する関数として replace があります。選択肢Dにあるように、置換対象の部分文字列と、置換後の文字列を引数として渡します。

文字列の両端から空白文字を取り除く関数として trim があります。先頭部分の空白のみを取り除く ltrim や末尾部分の空白のみを取り除く rtrim もありますが、trim の引数として leading あるいは trailing を指定することでも ltrim および rtrim と同じことを実現できます。

間違っているものを選ぶ問題なので、正解はBです。

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

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

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

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

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

サンプル問題/例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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