Oracle試験道場

1Z0-071 · Silver SQL

SQL SELECT文を使用したデータの取得

★★★☆☆複数選択
Q03of 20

以下の実行結果を表示するためのSQL文はどれですか。(複数選択)Silver SQL3

以下の実行結果を表示するためのSQL文はどれですか。(複数選択)

ORACLE DATABASE's BEST DATASE

Choices選択肢

  • ASELECT 'ORACLE DATABASE's BEST DATABASE' FROM dual;
  • BSELECT 'ORACLE DATABASE''s BEST DATABASE' FROM dual;正解
  • CSELECT q'(ORACLE DATABASE's BEST DATABASE)' FROM dual;正解
  • DSELECT q'AORACLE DATABASE's BEST DATABASEA' FROM dual;正解
Answer

正解は、B,C,Dです

Explanation解説

文字リテラルの中に一重引用符(')を含めたい場合の表記方法は2つあります:

  1. 一重引用符を2つ続けて記述する'' でエスケープ)
  2. q引用符構文を使うq'<任意の区切り文字>文字リテラル<同じ区切り文字>'

各選択肢の検討:

  • A'ORACLE DATABASE's...' のように生の ' を含むため、構文エラー。
  • BDATABASE''s' を2つ続けてエスケープしているので正しい。
  • C:q引用符構文で区切り文字に () を使用。括弧類は対応する閉じ括弧で終わる。
  • D:q引用符構文で区切り文字に A を使用。任意の1文字が区切り文字になる。

q引用符構文は、リテラル内に ' が多く含まれる場合に可読性が高くなる便利な記法です。

例:

SELECT q'[It's "Today's" report]' FROM dual;