Oracle Database SQL(ORACLE MASTER Silver SQL 2019) 問題集

ORACLE MASTER Silver SQL 2019(1Z0-071-JPN)試験対策公式 ORACLE MASTER Silver SQL 2019 試験内容チェックリスト準拠

Oracle Database SQL(ORACLE MASTER Silver SQL 2019)の日本語問題集。全180問に解説つき。模擬試験は78問・120分です。

Oracle Database SQL(ORACLE MASTER Silver SQL 2019) 無料問題 3 / 10 ・ 分野4: 単一行関数を使用した出力のカスタマイズ

次の SELECT 文の結果として正しいものはどれか。 SELECT TRIM('0' FROM '0450890') FROM dual;

  1. '0450890':変わらない。除けるのは空白だけ
  2. '450890':指定が無いので LEADING になり、先頭の0を除く
  3. '4589':途中の0を含めて、文字列から0が消える
  4. '45089':先頭と末尾の0が除かれ、途中の0は残る
正解と解説を見る

正解: D

正解の理由
SQL Language Reference の TRIM は、「BOTH または3つのどれも指定しないとき、trim_character と等しい先頭と末尾の文字を除く」と定める。0450890 の両端の0が除かれ、途中の0(45 と 89 の間)は残るので、45089 になる。

違う選択肢
「'450890':指定が無いので LEADING になり、先頭の0を除く」… LEADING が既定と読んだ説明である。LEADING、TRAILING、BOTH のどれも指定しないときは BOTH と同じなので、末尾の0も除かれる
「'4589':途中の0を含めて、文字列から0が消える」… REPLACE のように文字列中の0を消す関数の読み方である。TRIM が除くのは両端に連続する文字だけで、途中の0は残る
「'0450890':変わらない。除けるのは空白だけ」… 空白しか除けないと読んだ説明である。空白が除かれるのは trim_character を省略したときの既定で、0 を指定すれば両端の0が除かれる

押さえどころ
TRIM の trim_character は1文字で、省略すると空白になる。trim_source を NULL にすると、結果も NULL になる。文字列の中の文字を置き換えるには REPLACE を使う。

Oracle Database SQL(ORACLE MASTER Silver SQL 2019)の演習アプリ(無料10問・全問は購入で)へ

問題集(note)を見る